Назад | Перейти на главную страницу

SSL-прокси Nginx для FIsheye

Я рыскал в Интернете и наткнулся на Обратный прокси 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 нет ошибок, которые я нигде могу найти.

Мы будем благодарны за любой совет или помощь.