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 Location
和 Refresh
引起的。 Nginx 为您提供 proxy_redirect
来为您处理:
proxy_redirect https://brasilia.com http://mysite.digital;
链接
该网站可能包含相关链接 /link
或 link
,在这种情况下,您可以使用第一种解决方案。如果存在指向原始 URL(https://brasilia.com/link
或 //brasilia.com/link
)的完整链接,您还需要重写响应 body。重写 body 是 described here.
是否可以访问地址并上传其内容而无需重定向到原始站点?
我想做的是,我希望我的内部网络中访问内部网站的用户 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 Location
和 Refresh
引起的。 Nginx 为您提供 proxy_redirect
来为您处理:
proxy_redirect https://brasilia.com http://mysite.digital;
链接
该网站可能包含相关链接 /link
或 link
,在这种情况下,您可以使用第一种解决方案。如果存在指向原始 URL(https://brasilia.com/link
或 //brasilia.com/link
)的完整链接,您还需要重写响应 body。重写 body 是 described here.