我已经在一台机器上分别使用端口 1111 和 1112 设置了 Jetbrains Hub 和 Upsource。
这些都可以工作,如果我使用机器的本地网络 IP 地址访问它们就会加载。
然后我(按照官方文档)为它们每个添加了一个反向代理,以便使用给定的配置在它们之上添加一个 SSL 层:
server {
listen 8080 ssl;
ssl_certificate /path/to/pub.crt
ssl_certificate_key /path/to/pub.key
server_name mydomainForThisMachine.com;
location / {
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
# to proxy WebSockets in nginx
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:1111/;
}
}
server {
listen 8081 ssl;
ssl_certificate /path/to/pub.crt
ssl_certificate_key /path/to/pub.key
server_name mydomainForThisMachine.com;
location / {
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
# to proxy WebSockets in nginx
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:1112/;
}
}
据我了解,这应该将 Hub 的 8080 端口转发到 1111 端口,将 Upsource 的 8081 端口转发到 1112 端口
我已经使用firewall-cmd和semanage打开了端口。
然而,当我尝试访问https://mydomainForThisMachine.com:8080/或 :8081,页面使用证书加载,但我收到 502 Bad Gateway 错误。我该如何解决这个问题,我的配置有问题吗?
更新 将错误日志添加到 nginx 后,我在尝试连接时发现此错误:
2016/07/07 22:37:08 [crit] 26241#0: *1754 connect() 至 127.0.0.1:1111 失败(13:权限被拒绝)连接到上游时,客户端:myPublicIp,服务器:mydomainForThisMachine.com,请求:“GET /favicon.ico HTTP/1.1”,上游:“http://127.0.0.1:1111/favicon.ico", 主机:“mydomainForThisMachine.com:8080”, 引用站点:“https://mydomainForThisMachine.com:8080/“
答案1
我放弃了有效解决该问题的方法,并禁用了 selinux。这有效。