Es gibt zwei JSP-Anwendungen, die lokalen Zugriffsadressen lauten wie folgt
http://127.0.0.1:8080/app1
http://127.0.0.1:8080/app2
Der Zugriff auf http://domain.com/app1 und http://domain.com/app2 kann durch die folgende Konfiguration erreicht werden
server {
listen 80;
server_name domain.com;
charset utf-8;
location /{
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Jetzt möchte ich zwei Domänennamen verwenden, um auf diese beiden Anwendungen zuzugreifen.
Besuchen Sie http://127.0.0.1:8080/app1 über http://app1.domain.com.
Zugriff über http://app2.domain.com ://127.0.0.1:8080/app2
Die Konfiguration ist wie folgt
server {
listen 80;
server_name app1.domain.com;
charset utf-8;
location /{
proxy_pass http://127.0.0.1:8080/app1;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name app2.domain.com;
charset utf-8;
location /{
proxy_pass http://127.0.0.1:8080/app2;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Die Ergebnisse können nur die Startseite anzeigen und statische Ressourcen können nicht geladen werden
#我感觉应该这么写可是有语法错误
if ($uri ^/$){proxy_pass http://127.0.0.1:8080/app1;}
if ($uri ^/app1){proxy_pass http://127.0.0.1:8080/$request_uri;}
Wie sollte es also konfiguriert werden?
无法加载是什么意思?是502?还是jsp中的静态路径不对?
其实你还是基于上面那个就行的。。然后基于二级域名的伪静态转发就好了。。具体不写了。原理是那样的。要试几次才确定写法的。
大致思路就是把 .domain.com/ 都转发到 http://127.0.0.1:8080/$1/$2
谢邀!
我认为需要做动静分离,把js,css和图片给ngixn处理,不用tomcat处理。jsp的请求才转发给tomcat处理。
亲。。。你 root 没写, nginx 怎么给你代理文件?楼上那样就好。