Nginx 反向代理整站与指定目录问题

现在部署了一个web,本机地址是localhost:6666/blogs/user

然后利用nginx反代配置如下:

upstream myweb {
    server localhost:6666;
}


server
{
    listen 80;
    server_name myhost.net;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/host.net;

    location / {
        proxy_pass http://localhost:6666/blogs/user/;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
    }

这样配置后可以访问,然而又发现一个问题是这个web还有一个路由是

localhost:6666/admin

我按照搜出来的方法又加了一个配置如下:

location ^~ /admin/ {
        proxy_pass http://localhost:6666/admin/;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
     }

但是似乎没有用........不知道何解 各位还请帮忙看看 谢谢!

阅读 4.1k
2 个回答

使用try_files $uri $uri/ /;

    location / {
        proxy_pass http://localhost:6666;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
        try_files $uri $uri/ /;
    }

试试去掉后面的proxy_pass后面的/admin/

location ^~ /admin/ {
        proxy_pass http://localhost:6666;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
     }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题