Я запускаю 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.
Если http://example.com:7990
не работает, очевидно, что nginx-proxy тоже не работает. Попробуйте netstat -anp | grep 7990
, чтобы узнать, прослушивает ли битбакет соединения. Если нет, исправьте битбакет, а не nginx.
У вас есть /
в конце инструкции proxy_pass
. Это означает, что все URI заменяются на /
при передаче прокси. Например, http://bitbucket.example.com/testing
будет проксирован на http: // localhost: 7990 /
.
Я не знаю точно, как это приложения используют URL-адреса, но я думаю, что они ожидают полного URI.
Это означает, что вы должны использовать proxy_pass http: // localhost: 7990;
в своей конфигурации без конечной косой черты.