У меня возникли проблемы с настройкой Nginx и Tomcat Server в Cent OS.
Вот nginx.conf:
server {
listen 80;
server_name subdomain.test.com;
root /usr/local/tomcat/webapps/webapp_folder;
index index.html index.htm index.jsp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location ~ \.jsp {
proxy_pass http://127.0.0.1:8080;
}
}
Когда я приезжаю subdomain.test.com, Я получу диалоговое окно загрузки вместо содержимого index.jsp.
Кроме того, я могу нормально посещать веб-сайт, посетив ip_address: 8080 / webapp_folder.
Я также пытался изменить URL http://127.0.0.1:8080
к http://127.0.0.1:8080/webapp_folder
, но когда я запустил Nginx, я получил следующее сообщение об ошибке:
Перезапуск демона nginx: nginxnginx: [emerg] «proxy_pass» не может иметь часть URI в местоположении, заданном регулярным выражением, или внутри именованного местоположения, или внутри оператора «if», или внутри блока «limit_except» в /etc/nginx/nginx.conf : 145
И я тоже пробовал это:
server {
listen 80;
server_name subdomain.test.com;
root /usr/local/tomcat/webapps/webapp_folder;
index index.html index.htm index.jsp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://127.0.0.1:8080/webapp_folder;
}
}
Но все равно не работает.
Вы можете помочь мне с проблемой? Большое спасибо!
Диалог загрузки может появиться из-за того, что jsp не определен в /etc/nginx/mime.types - хотя я бы предположил, что обратный прокси-сервер не изменит тип mime, предоставляемый Tomcat.
Я предполагаю, что WebApp работает правильно, когда вы заходите в приложение через порт 8080? Если да, посмотрите, что произойдет, когда вы передадите все запросы Tomcat, например:
server {
listen 80;
server_name subdomain.test.com;
root /usr/local/tomcat/webapps/webapp_folder;
index index.html index.htm index.jsp;
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_pass http://localhost:8080;
}