使用 nginx 反向代理进行网络连接

使用 nginx 反向代理进行网络连接

我在 Debian 11 上配置了 nginx 反向代理,我可以从互联网使用子域访问应用程序服务器。但在内部网络上它不起作用。

备用代理与应用服务器 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;

 }
}

感谢您的帮助

答案1

我的问题已经解决了。添加并配置了新的网络适配器,并控制和调整了路由。

然后,我允许服务器块中的子网,控制配置并执行重新加载。然后一切正常!

我希望这种方法能够帮助到有同样困扰的人。

  • 控制 DNS
  • 允许子网以及可达性
  • 路由控制
  • 在我们的例子中,配置了第二个网络适配器

相关内容