首页 > 解决方案 > 从 Nginx 子路径到不同端口的 root

问题描述

我有一台服务器,其中有几个 Web 服务暴露在 docker 容器的不同端口中。

使用 nginx,我想使用子路径来浏览这些服务器。例如:我在http://myurl:8080/中有 Nextcloud, 可从http://myurl:80/nextcloud 访问

我尝试了不同的解决方案,可能最接近的解决方案如下:

 location /nextcloud/{

    proxy_pass http://myurl:8080/;
    }

但是通过这种方式,我丢失了 url 中的第一个参数:而不是代理http://myurl/nextcloud/a/b;我在http://myurl/nextcloud/b上被代理了,失去了 /a

标签: nginxnginx-reverse-proxynginx-config

解决方案


location /nagios/ {
    rewrite ^/nagios(/.*)$ $1 break;
    proxy_pass  http://10.0.21.8:80/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_redirect    off;
}

参考:https ://raymii.org/s/tutorials/NGINX_proxy_folder_to_different_root.html


推荐阅读