Хорошо
У меня Confluence под Ubuntu 16.04. Теперь у меня JIRA работает на том же сервере. Nginx перенаправляет порт 8090 на порт 80 без проблем для Confluence, поэтому я могу просто перейти в домен / слияние. Я настроил JIRA для работы таким же образом.
Я продолжаю получать ошибку 404 Not Found
от Nginx.
Когда я отслеживаю журнал ошибок Nginx, я вижу это:
2016/07/01 17:27:29 [error] 50688#50688: *2 open() "/usr/share/nginx/html/jira" failed (2: No such file or directory), client: xx.xx.xx.xx, server: www.xxxxxx.net, request: "GET /jira HTTP/1.1", host: "xxxxx.net"
Я знаю, почему происходит эта ошибка, но я не могу до конца жизни понять, где Nginx получает Путь свой ищет из. Технически он правильно передает трафик в Apache, но добавляет /jira
в конец каталога по умолчанию, что приводит к тому, что 404 не найден, потому что это местоположение буквально не существует.
Откуда Nginx читает местоположение по умолчанию?
Я удалил все в моих каталогах sites-available
и sites-enabled
, за исключением того, который был необходим для настройки пересылки. Apache также не имеет сайтов ни в одном из своих каталогов. Я проверил Nginx.conf и не вижу там этого пути. Я перезапустил все свои услуги, а также.
Конфигурация с включенными сайтами
root@confluence:/etc/nginx/sites-enabled# cat confluence
server {
listen www.xxxx.net:80;
server_name www.xxxx.net;
location /confluence {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8090/confluence;
}
}
Конфигурация с поддержкой сайтов JIRA
root@confluence:/etc/nginx/sites-enabled# cat jira
server {
listen www.xxxx.net:80;
server_name www.xxxx.net;
location /jira {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/jira;
client_max_body_size 10M;
}
}
Я нахожусь на потеря !!
РЕДАКТИРОВАТЬ
Таким образом, кажется, что Nginx читает это из этого файла:
/etc/nginx/sites-available/default
проблема здесь, этот файл больше не существует. Я остановил / запустил / перезагрузил Nginx. Все еще хочется добавить этот каталог до /jira
.
Для разрешения этого я закончил тем, что удалил Nginx все вместе. У меня только было две установки блоков сервера, таким образом, это не было грандиозное предприятие восстановить все.
, После того как я установил Nginx, и установите мои блоки сервера, все хорошо работало.
apt-get purge nginx
apt-get install nginx
я вижу, как это не могло бы быть лучшей вещью, но она решила мой вопрос тем не менее.
Также вместо того, чтобы иметь два отдельных блока сервера я настроил одно как таковое:
server {
listen www.xxxx.net:80;
server_name www.xxxx.net;
location / {
location /confluence {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8090/confluence;
}
location /jira {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8080/jira;
client_max_body_size 10M;
}
}
}
было важно, чтобы я добавил основное местоположение location /
как без этого, мне не разрешили установить мои местоположения как /confluence /jira
, Наличие их без основного местоположения привело к этой ошибке:
location "/jira" is outside location