Я настроил nginx в качестве обратного прокси на сервере с IP-адресом 192.1618.1.x. Прокси-сервер и внутренний сервер взаимодействуют через inte rnet. Если кто-то хочет посетить мой сайт www.exemple.com, его следует перенаправить на прокси-сервер. Моя сетевая архитектура выглядит следующим образом: ![enter image description here](https://i.stack.imgur.com/y4Mu3.jpg)
конфигурация nginx `#resolver 176.139.8.11 действует = 10 с;
resolver 109.x.x.x valid=10s;
server {
listen 80;
server_name www.example.com;
rewrite ^ https:$host$request_uri? permanent;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
....
....
location / {
proxy_ssl_name $host;
proxy_ssl_server_name on;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 900s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
set $backend www.example.com;
proxy_pass https://$backend;
}
}
` В маршрутизаторе 1, Я определил правило переадресации портов для отправки всего входящего трафика c на мой прокси. В маршрутизаторе 2 я определил, что внутренний сервер принимает только входящий трафик c от маршрутизатора 1. Кроме того, я добавил правила маршрутизации как на прокси-сервере, так и на внутреннем сервере.
Внутренний сервер:
iptables -A INPUT -p tcp -s 172.x.x.x --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 9000 -j ACCEPT
Обратный прокси nginx:
iptables -A INPUT -p tcp -s 109.x.x.x --dport 9000 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
Проблема в том, что мой сервер недоступен, и я не могу получить к нему доступ. Прокси обойден.