Nginx блокирует порты

Я запускаю debian (jessie, 64-бит) сервер с установленными nginx, jira и bitbucket. URL-адрес называется "www.example.com"

Сначала я установил jira, открыл сайт установки ( http://example.com:8080 ) и завершил установку.

После этого я создал виртуальный хост "jira.example.com" в / etc / nginx / sites-available и создал соответствующую символическую ссылку в / etc / nginx / sites-enabled:

server {
    listen 80;
    server_name jira.example.com;   
    location / {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

это работает нормально.Когда я открываю http://jira.example.com , он попадает на мою панель управления jira.

Затем я установил битбакет и открыл страницу настройки на http: / /example.com:7990, который тоже работает.

Затем я решил создать еще один виртуальный хост с именем "bitbucket.example.com":

server {
    listen 80;
    server_name bitbucket.example.com;  
    location / {
        proxy_pass http://localhost:7990/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

но этот не работает, тогда как jira работает совершенно нормально.

Когда я редактировал строку include / etc / nginx / sites-enabled / *; в n ginx.conf на включает /etc/nginx/sites-enabled/*.*; он перенаправляет каждый http://example.com/* на http: // example.com:7990 поэтому я думаю, что я как-то неправильно сконфигурировал nginx.

0
задан 12 January 2017 в 21:45
2 ответа

Если http://example.com:7990 не работает, очевидно, что nginx-proxy тоже не работает. Попробуйте netstat -anp | grep 7990 , чтобы узнать, прослушивает ли битбакет соединения. Если нет, исправьте битбакет, а не nginx.

0
ответ дан 24 November 2019 в 05:05

У вас есть / в конце инструкции proxy_pass . Это означает, что все URI заменяются на / при передаче прокси. Например, http://bitbucket.example.com/testing будет проксирован на http: // localhost: 7990 / .

Я не знаю точно, как это приложения используют URL-адреса, но я думаю, что они ожидают полного URI.

Это означает, что вы должны использовать proxy_pass http: // localhost: 7990; в своей конфигурации без конечной косой черты.

0
ответ дан 24 November 2019 в 05:05

Теги

Похожие вопросы