Nginx имеет множество сценариев применения при разработке реальных проектов, которые в основном используются для реализации функции обратного прокси. Обратный прокси означает, что когда пользователь получает доступ к IP-порту через доменное имя или дополнительный адрес, он автоматически перенаправляется на другой совершенно новый порт для отображения проектов, развернутых на этом порту. В этой статье рассказывается, как настроить сервер Nginx для реализации обратного прокси.
1. Установите Нгинкс
Обратитесь к статье, которую я написал ранее:Установите Nginx в Windows
2. Логическая схема обратного прокси-сервера Nginx
3. Настройте Nginx для реализации обратного прокси-сервера для одного проекта.
Здесь нам нужно настроить файл Nginx\conf\nginx.conf.
Найдите параметры сервера.
прослушивать: порт прослушивания;
(Необходимо избегать порта прослушивания, особенно win-server, и проект IIS по умолчанию на порту 80 необходимо закрыть)
имя_сервера: имя домена, которое необходимо отслеживать (заполните localhost, который является общедоступным IP-адресом);
proxy_pass в местоположении: установите целевой адрес пересылки;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
http://124.xxx.xx.21:8080/pages/index.html; # Установите адрес назначения пересылки
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Приведенный здесь пример означает: при получении доступа с общедоступного IP-адреса,Переслать запрос наhttp://124.xxx.xx.21:8080/pages/index.html。
4. Настройте Nginx для реализации обратного прокси-сервера для нескольких проектов.
Вот как это написать с несколькими серверами:
upstream lanxin{
server localhost:8080;
}
upstream damon{
server localhost:8081;
}
server {
listen 80;
server_name lanxinyun.com;
location / {
proxy_pass http://lanxin;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name damon-liu.work;
location / {
proxy_pass http://damon;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Порт 80 контролируется. При доступе к доменному имени lanxinyun.com он переходит к проекту, опубликованному на порту 8080. При доступе к доменному имени damon-liu.work он переходит к проекту, опубликованному на порту 8081.
5. Заключение
Через обратный прокси мы реализуем повторное использование одного и того же порта (настройка разных доменных имен для прослушивания через Nginx и переход к разным проектам). Это очень распространено в проектах и является важным навыком для современных программистов.