nginx这样配置怎么没有作用?

访问80端口,图片的路径怎么没有映射到82端口那里,这配置哪里错了?

http {
    client_max_body_size    10m;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        
        location /publish {
             proxy_pass http://localhost:82/Publish/;
        }
        
        location / {
             proxy_pass http://localhost:81;
        }
    }
}

nginx access.log 日志是这样的

127.0.0.1 - - [03/Feb/2018:09:52:26 +0800] "GET /publish/focus/20180123/1554319687.jpg HTTP/1.1" 400 334 "http://localhost/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
阅读 2k
2 个回答

好像匹配规则的问题,location / 的规则把 location /publish 覆盖了吧。。。

publish 少了斜杠

location /publish/ {
     proxy_pass http://localhost:82/publish/;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题