我已就这件事做了一些研究,并且关于我的问题还有一些未解决的问题,但我设法解决了所需的一半(感谢网站上的人)。
之情况: 我将Nginx作为内部企业网络中的反向代理。我需要将流量传递给公司代理后面的互联网。
解决方案的一半: 要实现这一点,以下工作正常:
server {
listen 80;
server_name myhost.com;
location / {
proxy_set_header Host google.com;
proxy_pass http://corporateproxy:9999/;
}
}
但是,上述解决方案不会在公司代理和google.com之间使用SSL。你知道如何添加SSL吗? 我已经尝试添加协议或端口到标头但它不是这样工作。 我无法修改公司代理上的任何内容。它应该像这样工作:访问的URL是https,它将被重定向到https; http到http。仅包含dns名称的不幸标题被视为http请求。
不幸的是,最简单的解决方案不起作用,因为nginx不尊重RedHat Machine上的http_proxy设置:
server {
listen 80;
server_name myhost.com;
location / {
proxy_pass https://google.com/;
}
}
任何帮助都将受到高度赞赏。