nginx 反向代理到 IIS

nginx 反向代理到 IIS

在 DMZ 上有一个 Nginx 盒,它通过代理连接到 LAN 上的 IIS 盒。

我可以通过 Nginx 框顺利进入主页,但是进一步导航后它似乎重定向而不是代理。

IIS 或 Nginx 端是否需要额外的配置?

server {
        listen 80;
    listen 443;

    server_name internal.lan.com;

    location / {
        proxy_pass http://internal.lan.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_redirect off;

    }
}

答案1

这取决于网站如何在页面上构建链接。
如果它们是绝对路径(http://internal.lan.com/page.html)而不是相对路径(/page.html),那么您需要重写它们:

模块ngx_http_sub_module模块需要构建到二进制文件中。在命令--with-http_sub_module中使用./configure
更多信息:http://nginx.org/en/docs/http/ngx_http_sub_module.html

sub_filter 'http://internal.lan.com/'  'https://$host/';
sub_filter_once off;

相关内容