Mar*_*k D 6 firewall nginx reverse-proxy
有谁知道如何在公司防火墙后面设置 nginx,以将代理请求反向到防火墙外的服务器?
我想这样做的原因是我试图使用一个不支持标准 http_proxy 设置的应用程序,欺骗它认为有问题的资源位于防火墙内部(即使用 nginx 反向代理它们)。
我已经尝试过以下方法:
首先尝试 proxy_pass 并传递主机:
http {
upstream corporate_proxy {
server web-proxy.mycorp.com:8080;
}
server {
listen 80;
rewrite_log on;
location / {
proxy_buffering off;
proxy_pass_header on;
proxy_set_header Host "http://public-website.com";
proxy_pass http://corporate_proxy;
}
}
}
Run Code Online (Sandbox Code Playgroud)
第二次尝试重写并将 URL 传递到公司防火墙:
http {
upstream corporate_proxy {
server web-proxy.corp.hpecorp.net:8080;
}
server {
listen 80;
rewrite_log on;
location / {
rewrite ^(.*)$ "http://public-website.com$1" break;
proxy_buffering off;
proxy_pass_header on;
proxy_pass http://corporate_proxy;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这种方法最初让我很兴奋,但它实际上只是做了一个重定向,并没有正确代理,最终失败了。我在这里缺少什么吗?
编辑: 感谢下面的评论者发现了我的错误,我在 Host header var 中有协议 - 删除它解决了问题 - 方法 #1 似乎工作得很好。
| 归档时间: |
|
| 查看次数: |
10269 次 |
| 最近记录: |