我搜索了互联网,偶然发现鱼眼 + Nginx 反向代理多次,但似乎没有回答我的问题。我已经启动并运行了 Atlassian 的 FIsheye。目前,Fisheye 正在监听端口 8060,并且有一个 nginx 反向代理正在运行,允许我通过端口 80 访问它。
我还设置了 nginx 代理以代理 SSL 连接(从端口 443)到 fisheye 端口,但连接被拒绝。有很多东西说要尝试各种方法,但到目前为止,它们都没有解决我的问题。
Atlassians 的答案是尝试使用 Apache,如果有必要,我会这么做。当我让 nginx 代理各种服务器上的其他应用程序时,我必须运行 apache,这让我很烦。我更了解 Nginx,我更愿意坚持使用它。
不用多说,以下是我的配置。
鱼眼 config.xml(我已经包含了我认为相关的部分):
<?xml version="1.0" encoding="UTF-8"?>
<config control-bind="127.0.0.1:8059" version="1.0" admin-hash="REDACTED" timezone="America/Indianapolis">
<web-server site-url="https://crucible.domain.com" context="/">
<http bind=":8060" proxy-port="443" proxy-scheme="https" proxy-host="crucible.domain.com"/>
</web-server>
我的 nginx 配置文件:
server {
listen 443;
listen [::]:443;
listen 80;
listen [::]:80;
server_name crucible.domain.com;
ssl on;
ssl_certificate /etc/nginx/crucible.domain.com.crt;
ssl_certificate_key /etc/nginx/crucible.domain.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
index index.html index.htm index.php;
access_log /var/log/nginx/ssl-crucible.domain.com.access.log;
error_log /var/log/nginx/ssl-crucible.domain.com.error.log;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8060;
proxy_buffering off;
proxy_redirect off;
}
}
非 SSL 重定向运行顺利。SSL 重定向显示拒绝连接:
~$ wget https://crucible.domain.com
--2014-05-25 14:55:03-- https://crucible.domain.com/
Resolving crucible.domain.com... X.X.X.X
Connecting to crucible.domain.com|X.X.X.X|:443... failed: Connection refused.
我在鱼眼日志和 nginx 日志中都找不到任何错误。
任何建议或帮助都将不胜感激。