ここでは、personal.me と company.com として指定する 2 つのインターネット名を介してプライマリ インターフェイスにアクセスできる VPS を持っています。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;
}
}
これは問題なく機能していますが、 http://company.com/fora/からもインスタンスにアクセスしたいと考えています。ここで重要なのは、削除する /fora/ パスがあることです。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;
}
}
しかし、 http: //company.com/fora/に移動すると、タイトル バーが Mattermost に変わりますが、コンテンツはありません --- ページは空白です。personal.me の URL から Mattermost にアクセスできるので、Mattermost は正しく動作していると思います。
company.com ルールの何が問題になっていますか? Mattermost にパスを渡さないことと関係がありますか?
Nginxリバースプロキシ( proxy_pass )によると、サブフォルダーとhttp://forum.mattermost.org/t/blank-page-when-installing-mattermost-with-nginx-proxy-pass-as-subdirectory/1604は渡されません。「不可能ですが、それはわかりません...確かにURLの一部を削除することは、nginxのコア機能の1つですか?