Nginx 使用 proxy_pass 重写重定向

Nginx rewrite redirects using proxy_pass

是否可以访问地址并上传其内容而无需重定向到原始站点?

我想做的是,我希望我的内部网络中访问内部网站的用户 mysite.digital 能够看到外部网站(托管在 Cloudflare 上)的内容 https://siteseguro.com

如有必要,我也可以从 Cloudflare 中删除

我通过下面的配置获得了它,但是当访问该站点时它会将我重定向到原始 URL。 我需要隐藏真实网站的DNS/IP

server {
    listen 80;

    location ^~ / {
        proxy_pass https://brasilia.com;
        proxy_set_header Host brasilia.com;
        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_set_header Referer $http_referer;
    }
}

你有两个不同的问题

重定向

重定向是由两个 headers LocationRefresh 引起的。 Nginx 为您提供 proxy_redirect 来为您处理:

proxy_redirect https://brasilia.com http://mysite.digital;

链接

该网站可能包含相关链接 /linklink,在这种情况下,您可以使用第一种解决方案。如果存在指向原始 URL(https://brasilia.com/link//brasilia.com/link)的完整链接,您还需要重写响应 body。重写 body 是 described here.