我有一个全栈应用程序(前端是Vue,后端是Node.js),它在AWS EC2示例上运行。
为了运行前端,我使用npm run build
构建Vue应用程序,然后将构建的dist
文件夹复制到/var/www/html
。
对于后端,我使用pm2
继续在后台运行Node.js服务。
我还安装了nginx来服务前端和后端。下面是nginx的配置。
server {
listen 80 default_server;
listen [::]:80 default_server;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
root /var/www/html;
try_files $uri /index.html;
}
location /v1 {
proxy_pass http://localhost:6200/v1;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header content-type "application/json";
proxy_cache_bypass $http_upgrade;
proxy_set_header Connection 'upgrade';
}
}
字符串
后端的反向代理应该传递给http://localhost:6200/v1
。它有v1
,它在Node.js后端被前缀使用。
app.use('/v1', apiRouter)
型
前端和后端工作正常。我可以通过使用pm2 log
和nginx日志来实现这一点。
我要做的是直接使用反向代理服务器作为后端。
我的前端有一个这样的API请求。
axios.get('http://localhost/v1/test')
型
前端请求该API失败。我可以使用像https://mytestdomain.com/v1/test
这样的域请求API,但是我需要直接在本地示例上请求API,因为这样会更快,并且可以避免一些问题。
我不知道我做错了什么。我试着像127.0.0.1
而不是localhost
一样更新URL,也使用了像/v1/ => proxy_pass http://localhost:6200/v1/
这样的尾随斜杠,但它们不起作用。
的数据
1条答案
按热度按时间r6vfmomb1#
尝试使用尾随斜杠:
字符串
评论后更新…
尝试使用以下通用服务器块:
型