不能用 Nginx 服务两个静态网站

问题描述 投票:0回答:0

我有两个 React 构建文件夹,我想像这样访问它们:

https://example.com/ -> /var/www/web_client/
https://example.com/videochat/ -> /var/www/videochat/

这是我的 nginx 配置文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name example.com;

    location / {
        root /var/www/web_client;
        try_files $uri /index.html;
    }

    location /videochat/ {
        root /var/www/videochat;
        try_files $uri /index.html;
    }

    listen [::]:443 ssl ipv6only=on;
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

位置块 / 完美运行,但 /videochat/ 将我重定向到 /var/www/web_client 的 404 页面,而不是 /var/www/videochat.

的 index.html

如何修复此错误并让 nginx 在同一台服务器上为两个静态网站提供服务?

我试图像这样颠倒这两个以确保错误来自 nginx:

    location / {
        root /var/www/videochat;
        try_files $uri /index.html;
    }

    location /web_client/ {
        root /var/www/web_client;
        try_files $uri /index.html;
    }

现在情况正好相反,位置块 / 将我重定向到 /var/www/videochat 的 index.html,正如预期的那样,但是 /web_client/ 将我重定向到 /var/www/videochat 而不是 /var/www/web_client.

的 index.html
nginx nginx-config nginx-location
© www.soinside.com 2019 - 2024. All rights reserved.