Я рыскал в Интернете и наткнулся на Обратный прокси Fisheye + Nginx много раз, но, похоже, он не отвечает на мой вопрос. У меня есть FIsheye от Atlassian. Прямо сейчас Fisheye прослушивает порт 8060, и есть обратный прокси-сервер nginx, который позволяет мне получить к нему доступ через порт 80.
Я также настроил прокси-сервер nginx для прокси-соединения SSL (с порта 443) с портом «рыбий глаз», но соединение отклоняется. Есть много вещей, которые советуют попробовать разные вещи, но пока ни один из них не решил мою проблему.
Ответ Atlassians - попробовать использовать Apache, что я и сделаю, если потребуется. Меня просто беспокоит, что мне придется запускать apache, когда у меня есть nginx, проксирующий все виды других приложений на разных серверах. Nginx - это то, что я знаю лучше, и я бы предпочел придерживаться этого.
Без лишних слов, вот мои конфиги.
Fisheye 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 нет ошибок, которые я нигде могу найти.
Мы будем благодарны за любой совет или помощь.