nginx:重写规则以访问Mattermost实例

nginx:重写规则以访问Mattermost实例,nginx,configuration,mattermost,Nginx,Configuration,Mattermost,我有一个VPS,它的主界面可以通过两个互联网名称访问,我在这里给出的名称是personal.me和company.com。我正在运行Mattermost服务器,可以使用以下nginx规则通过personal.me访问它: server { server_name personal.me; location / { client_max_body_size 50M; proxy_set_header Upgrade $htt

我有一个VPS,它的主界面可以通过两个互联网名称访问,我在这里给出的名称是personal.me和company.com。我正在运行Mattermost服务器,可以使用以下nginx规则通过personal.me访问它:

server {
    server_name personal.me;

        location / {
            client_max_body_size 50M;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $http_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 $scheme;
            proxy_set_header X-Frame-Options SAMEORIGIN;
            proxy_pass http://localhost:8065;
        }
    }
这工作得非常好,但我也希望通过访问实例——这一次需要删除/fora/path。我知道我应该使用https://但这是另一回事,以后再说。我试过:

server {
    listen       80;
    server_name  company.com;

    location / {
        root   [...];
        index  index.html;
    }

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location /fora/ {
        client_max_body_size 50M;
        rewrite /fora/ / break;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_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 $scheme;
        proxy_set_header   X-Frame-Options   SAMEORIGIN;
        proxy_pass http://localhost:8065;
    }
}
但是当我导航到时,尽管标题栏变为Mattermost,但没有内容——页面是空白的。由于我可以通过personal.me URL访问Mattermost,我相信Mattermost运行正常

company.com规则有什么问题?这与没有将路径传递到Mattermost有关吗


据我所知,这是不可能的,但我不明白。。。确实,删除一点URL是nginx的核心功能之一吗?

目前Mattermost似乎不可能做到这一点,因为应用程序假定它位于服务器根目录下


有关更多详细信息,请参阅和,并跟踪何时/是否这成为受支持的功能。

我们要做的是为要在域上访问的每个最重要的服务创建一个子域。我建议为a.company.com创建一个子域,然后在nginx设置中使用该子域

我不明白这一点;nginx“重写”规则的要点不是Mattermost看到了重写的URL,却不知道它不在服务器根目录下吗?