我有一个运行在http://192.168.0.2:8080/的应用程序。 index.html页面位于/web文件夹中,它在/css处请求静态文件(例如css)。
我想使用nginx作为反向代理,并让myapp.mydomain.com重定向到我的应用程序。 我在我的nginx.conf有以下配置:
server {
listen 80;
server_name myapp.mydomain.com;
satisfy any;
location / {
proxy_pass http://192.168.0.2:8080/web/;
index index.html index.htm;
}
}
但它不适用于css文件,因为它在/web/css查找它们。 我的解决方法是以这种方式配置我的nginx.conf (不带/web ):
server {
listen 80;
server_name myapp.mydomain.com;
satisfy any;
location / {
proxy_pass http://192.168.0.2:8080/;
index index.html index.htm;
}
}
并且每次请求http://myapp.mydomain.com/web 。
但我希望能够请求http://myapp.mydomain.com/并让nginx管理。
方法是:
据我所知,你有一个工作配置, 唯一的问题是,你想URL http://myapp.mydomain.com/被映射到http://192.168.0.2:8080/web/ 。
您的工作配置是:
server {
listen 80;
server_name myapp.mydomain.com;
satisfy any;
location / {
proxy_pass http://192.168.0.2:8080/;
index index.html index.htm;
}
}
最简单的解决方案是为/ URI添加完全匹配。 如:
server {
listen 80;
server_name myapp.mydomain.com;
satisfy any;
location = / { rewrite ^ /web/; }
location / {
proxy_pass http://192.168.0.2:8080/;
index index.html index.htm;
}
}
关键代码是:
location = / { rewrite ^ /web/; }
文章评论