我的Nginx安装并运行,下面是配置/etc/nginx/nginx.conf
,我想将所有内容转发/api/*
到我的tomcat服务器,它运行在同一台服务器端口9100(类型http://myhost:9100/api/apps
工作),否则,在'/ usr/share/nginx下提供静态文件/ HTML".现在我输入http://myhost/api/apps
404.这里的问题是什么?
upstream myserver { server localhost:9100 weight=1; } server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ^~ /api/ { proxy_pass http://myserver/; } location / { } }
Richard Smit.. 5
该proxy_pass
语句可以选择在将URI传递给上游之前修改它.请参阅此文档了解详细信息
以这种形式:
location ^~ /api/ { proxy_pass http://myserver/; }
URI /api/foo
被传递给http://myserver/foo
.
通过删除尾随/
从proxy_pass
语句:
location ^~ /api/ { proxy_pass http://myserver; }
URI /api/foo
现在传递给http://myserver/api/foo
.
该proxy_pass
语句可以选择在将URI传递给上游之前修改它.请参阅此文档了解详细信息
以这种形式:
location ^~ /api/ { proxy_pass http://myserver/; }
URI /api/foo
被传递给http://myserver/foo
.
通过删除尾随/
从proxy_pass
语句:
location ^~ /api/ { proxy_pass http://myserver; }
URI /api/foo
现在传递给http://myserver/api/foo
.