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