我几个月来一直在寻找这个答案,但从未解决过。我使用nginx作为我的Web服务器,并使用node.js作为我的后端api和vue作为使用webpack的主要前端网页。我希望能够通过转到http://ip进入我的Vue页面,然后通过转到http://ip/api来访问api服务。我没有设置域名,所以我使用IP地址作为网址。
到目前为止,我已经构建了Vue应用程序,并且位于/ var / www / html / Web / dist文件夹中,并且如果您转到http://ip网址也可以使用,但是我无法访问我的node.js API 。我的node.js服务器在本地主机端口3000上运行。我的nginx配置看起来像这样:
server {
listen 80;
root /var/www/html/Web/dist;
}
server {
listen 80;
location /api/ {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
答案 0 :(得分:0)
您正在复制服务器配置。只需设置一个服务器属性即可:
server {
listen 80;
root /var/www/html/Web/dist;
location /api/ {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
这意味着:
/var/www/html/Web/dist;
开始的相对路径现在应该可以正常工作了