Nginx Reverse Proxy + Apache2
Общая
Nginx Revers Proxy позволяет ретранслировать http/https запросы из внешней сети на один или несколько серверов, логически расположенных во внутренней сети. Удобно размещать несколько доменных имён на одном IP адресе.
Прежде чем настраивать ретрансляцию необходимо настроить DNS сервер.
DNS сервер, с которым работает Nginx, должен отдавать IP адрес самого Nginx-сервера при запросе доменного имени.
Создадим конфигурацию ретрансляции в /etc/nginx/conf.d/*.conf
Запретим обрабатывать запросы при обращении по IP адресу.
По умолчанию при обращении на IP адрес Nginx ретранслирует запрос на первый в конфигурации сервер. Что бы это избежать мы запретим обрабатывать такие запросы
server {
listen IP адрес Nginx сервера;
server_name "";
return 444;
}
Если ваш Nginx сервер спрятан за NAT то необходимо указать его внутренний адрес.
Настройка ретрансляции запроса по доменному имени
server {
listen Адрес домена;
server_name Адрес домена;
location / {
proxy_redirect off;
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://адрес веб-сервера на который ретранслируется запрос;
}
}
Перезапускаем Nginx server.
service nginx restart
Настройка Apache2
Если ваш Apache сервер не видит внешние IP адреса в ретранслированных запросах то вам необходимо включить определённые модули на сервере.
Активируем необходимые модули
a2enmod rewrite
a2enmod remoteip
Далее создаём или редактируем /etc/apache2/conf-available/remoteip.conf
<IfModule remoteip_module>
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 127.0.0.1 IP адрес Nginx сервера
</IfModule>
После чего перезапускаем Apache server
service apache2 restart
Стандартный конфиг файл активированного в Apache2 сайта
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory "/var/www/html">
Options -Indexes
AllowOverride All
</Directory>
</VirtualHost>
- Просмотров: 9401