在公司代理后面的服务器上使用 nginx 的 502 错误错误网关
502 error bad gateway with nginx on a server behind corporate proxy
我正在尝试为我们的公司服务器之一安装自定义服务(那些没有连接到互联网的服务器,除非所有流量都传递给公司代理)。
此代理已使用 .bashrc
文件中的经典 export http_proxy=blablabla
等进行设置。
现在是有趣的部分。我正在尝试配置 nginx 以将所有流量从 server_name
重定向到本地 url localhost:3000
这是我使用的基本配置。没有什么太棘手的。
server {
listen 443 ssl;
ssl_certificate /crt.crt;
ssl_certificate_key /key.key;
server_name x.y.z;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass &http_upgrade;
}
}
当我尝试从我的浏览器访问 server_name
时,出现 502 错误(nginx 错误,因此请求到达我的服务器)。
当我尝试从服务器访问本地 url curl --noproxy '*' https://localhost:3000
时,它正在运行。 (由于 .bashrc
文件中的 export http_proxy=blablabla
设置,我必须写 --noproxy '*'
标志。如果我不写这个,本地主机请求将发送到我们的远程代理,导致请求失败)
我猜这一定与企业代理配置有关,但我可能误导了。
你有什么见解可以与我分享吗?
非常感谢!
- PS:问题与任何类型的 SSL 配置无关,这部分工作得很好
- PS2:我不是系统管理员,所有这些问题都令人困惑
- PS3: 我正在使用的服务器是 RHEL 7.9
它与代理无关,在这里找到我的解决方案:
谢谢大家
我正在尝试为我们的公司服务器之一安装自定义服务(那些没有连接到互联网的服务器,除非所有流量都传递给公司代理)。
此代理已使用 .bashrc
文件中的经典 export http_proxy=blablabla
等进行设置。
现在是有趣的部分。我正在尝试配置 nginx 以将所有流量从 server_name
重定向到本地 url localhost:3000
这是我使用的基本配置。没有什么太棘手的。
server {
listen 443 ssl;
ssl_certificate /crt.crt;
ssl_certificate_key /key.key;
server_name x.y.z;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass &http_upgrade;
}
}
当我尝试从我的浏览器访问
server_name
时,出现 502 错误(nginx 错误,因此请求到达我的服务器)。当我尝试从服务器访问本地 url
curl --noproxy '*' https://localhost:3000
时,它正在运行。 (由于.bashrc
文件中的export http_proxy=blablabla
设置,我必须写--noproxy '*'
标志。如果我不写这个,本地主机请求将发送到我们的远程代理,导致请求失败)
我猜这一定与企业代理配置有关,但我可能误导了。
你有什么见解可以与我分享吗?
非常感谢!
- PS:问题与任何类型的 SSL 配置无关,这部分工作得很好
- PS2:我不是系统管理员,所有这些问题都令人困惑
- PS3: 我正在使用的服务器是 RHEL 7.9
它与代理无关,在这里找到我的解决方案:
谢谢大家