nginx.conf 中配置location /zxzs/resource/* {proxy_pass http://ip:端口/zxzs/resource/*}时,当http://127.0.0.1:80/zxzs/resource/login.css请求过来时,会自动请求到http://ip:端口/zxzs/resource/login.css吗
时间: 2023-08-04 09:05:15 浏览: 96
nginx配置proxy_pass中url末尾带/与不带/的区别详解
5星 · 资源好评率100%
在Nginx的`location`配置中,使用通配符`*`匹配路径时,如果您配置了`location /zxzs/resource/*`并且使用`proxy_pass`将请求转发到`http://ip:端口/zxzs/resource/*`,则当请求`http://127.0.0.1:80/zxzs/resource/login.css`到达时,Nginx会尝试将它转发到`http://ip:端口/zxzs/resource/login.css`。
但是需要注意的是,Nginx的`proxy_pass`指令不支持通配符匹配。所以在上述配置中,您使用的通配符`*`并不能成功将请求中的路径部分完整地拼接到转发的URL中。
要解决这个问题,您可以修改配置如下:
```nginx
location /zxzs/resource/ {
proxy_pass http://ip:端口/zxzs/resource/;
}
```
通过将斜杠(`/`)添加到`proxy_pass`的末尾,Nginx会将原始请求中的路径部分完整地拼接到转发的URL中。这样,当请求`http://127.0.0.1:80/zxzs/resource/login.css`到达时,Nginx会将它转发到`http://ip:端口/zxzs/resource/login.css`。
请记住,修改完Nginx配置后,需重新加载配置使其生效。您可以执行以下命令重新加载Nginx配置:
```bash
sudo service nginx reload
```
希望这可以帮助您解决问题。如有其他疑问,请随时提问。
阅读全文