NginX 将前端重定向到不同的端口和路径

NginX 将前端重定向到不同的端口和路径

由于某些非常特殊的原因,我必须在前端访问两个不同的路由,而我能控制的唯一访问方式变量是端口。因此,我想做的是根据端口,要么正常访问前端,要么通过不同的路径访问它:

myUrl:80 -> myUrl:80
myUrl:8081 -> myUrl:80/someRoute

我尝试使用 proxy_pass 实现此功能,如下所示:

# Standard frontend server
server {
    listen 80 default_server;
    server_name _;

    root /usr/share/nginx/html;
    index index.html;
    error_page 500 502 503 504 /50x.html;

    location / {
        try_files $uri $uri/ /index.html
        add_header Cache-Control "no-cache";
    }

    location /static {
        expires 1y;
        add_header Cache-Control "public";
    }
}

# Proxy $url:8081 -> url:80/somePath/
server {
    listen 8081 default_server;
    server_name _;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Original-Host $http_host;
        proxy_set_header X-Original-Scheme $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;

        proxy_pass http://127.0.0.1:80/somePath/;
    }

}

然后这会在前端控制台引发一个错误:

The script has an unsupported MIME type ('text/html').

如果相关的话,我会使用Flutter Web

相关内容