我在 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;
}
}
感谢您的帮助
我设法解决了我的问题。添加并配置了一个新的网络适配器,并控制和调整了路由。
然后我允许服务器块中允许的子网并控制配置并执行重新加载。然后一切正常!
我希望这种方式可以帮助有同样头部撞击的人。