Linux
使用 nginx 反向代理聯網
我在 debian 11 上配置了一個 nginx 反向代理,我可以從 Internet 訪問帶有子域的應用程序伺服器。但是在內部網路上它不起作用。
保留代理與應用程序伺服器 172.3.0.1/24 位於同一子網中。域控制器作為 DNS 輸入。客戶端位於不同的子網中,無法通過瀏覽器訪問子域。客戶端可以 ping 保留代理,但是當我使用 HTTPS 訪問子域時,連接被拒絕。
所以主要目標是每個人都可以訪問子域和從網際網路到子域,具有特殊埠的子域和通過HTTPS。訪問應該從 HTTP 重定向到 HTTPS,因為應用程序只支持埠 80。
我不明白問題是什麼,或者我是否配置了錯誤。
我的配置的第一塊
server { listen 80; return 301 https://$host$request_uri; }
第二個
server { listen 443 ssl; server_name somesubdomain.www.com; ssl_certificate /etc/nginx/ssl/somesubdomain.pem; ssl_certificate_key /etc/nginx/ssl/somesubdomain.key; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/somesubdomainweb.www.com.access.log; location / { 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_set_header X-Forwarded-Proto $scheme; proxy_pass http://172.3.0.x; proxy_read_timeout 90; } }
以及我通過特殊埠訪問的最後一個配置塊
server { listen 443 ssl; server_name somesubdomain.www.com:27000; ssl_certificate /etc/nginx/ssl/somesubdomain.pem; ssl_certificate_key /etc/nginx/ssl/somesubdomain.key; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/somesubdomainpath.www.com.access.log; location / { 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_set_header X-Forwarded-Proto $scheme; proxy_pass http://172.3.0.13:27000; proxy_read_timeout 90; } }
感謝您的幫助
我設法解決了我的問題。添加並配置了一個新的網路適配器,並控制和調整了路由。
然後我允許伺服器塊中允許的子網並控製配置並執行重新載入。然後一切正常!
我希望這種方式可以幫助有同樣頭部撞擊的人。
- 控制 DNS
- 允許子網和可達性
- 路由控制
- 在我們的例子中,配置了第二個網路適配器