这是请求的url
这是nginx里的配置
这是请求的结果,发现请求地址还是127.0.0.1 的,是哪里错了吗?
你没搞明白什么是反向代理。另外你直接访问http://epc.epcooo.com:81/recommend.html?category=4是404吗?我看配置好像是没问题的其他几个老哥说的对,nginx是从上到下匹配的,越上面优先级越高,你把/
和/apis/
的位置对调一下应该就行了
location 后面匹配的优先级 ,如果你server_name localhost, 而且后面的location / 或者 /apis/ 这样,会先从第一个入手去查找的,不管你怎么写url 因为都是模糊匹配,如果你想要匹配到apis ,那就 location = /apis/ 这样就好了
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
location / {}
这条规则,由于没加=
限定为完全匹配,所以默认的模糊匹配生效,再加上它又在前边,优先级比/apis/
这条要高,所以实际上apis那条规则永远也不会被命中。解决也简单,既然你的重点在apis那条规则上,那干嘛把它放后边呢?配置时一般会把
/
放到最后,在其它规则都没命中时,才需要它保底的,放前边它就成截胡的了。