如何为Nuxt应用程序设置Nginx代理?

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

我有 Nuxt 应用程序在端口

3001
上运行。我想从 Nginx 代理它。我可以直接在端口
3001
上正确访问应用程序,但我想代理它,所以我使用 Nginx 来实现这一点,以下是 Nginx 的配置...

nginx.conf

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  19000;
}

http {
    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }

    server {
        listen 80 default_server;
        server_name localdomain.local;

        location /admin {
            proxy_pass http://host.docker.internal:3001/;

            proxy_set_header Host $host:$proxy_port;
            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;
        }

        # This is Another React Application of mine
        # Which is working just fine
        location / {
            proxy_pass http://host.docker.internal:5173/;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
}

现在,当我访问

localdomain.local/admin
时,我会收到 Nuxt 服务器提供的
index.html
文件。但在该文件中,有指向其他文件(runtime.js、common.js 等)的链接,我收到了 404 错误。怎么解决这个问题?

docker nginx docker-compose nuxt.js
1个回答
0
投票

似乎您在

/admin
下提供应用程序,但 js 文件应该在该子目录之外提供。您可能需要告诉 nuxt 它正在该
/admin
子目录中运行,以便它生成链接文件的正确路径。我想这可能就是问题所在。以下文章描述了一种解决方案:将 nuxt.js 应用程序配置为在网络服务器上的子目录中工作


出于测试目的,您可以尝试将根

/
代理到您的nuxt应用程序。如果这有效,那就应该是上面解释的问题。

© www.soinside.com 2019 - 2024. All rights reserved.