阅读量:2
简单记录一下打包vue项目后,部署到服务器并且配置nginx,使得能够被外网访问
1. 服务器配置(阿里云)
首先进入阿里云服务器控制台,在云服务器组中找到 云服务器ECS -->安全组 -->创建安全组 -->访问规则(入方向) -->快速添加 选择443和80
2. nginx配置
刚开始将打包好的dist包放到nginx中启动后,遇见一系列问题。
首先,刷新页面后默认路由的路径没有了,只剩下IP和端口了。
配置好try_files $uri $uri/ /index.html last; 之后,刷新页面后不会出现路由“丢失”问题了。
然后调用接口出现405的问题,在尝试了多次之后,最终以下配置比较有效,可以正常访问了
server { listen 80; server_name localhost; location / { root dist; #项目的前端打包后的文件夹 try_files $uri $uri/ /index.html last; index index.html index.htm; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; if ($request_method = 'OPTIONS') { return 204; } } location /api/{ proxy_pass http://xxxxx:xxxx/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; } }
需要注意的是:proxy_pass http://xxxxx:xxxx/; 要代理的接口地址必须加 / 具体原因没弄清楚,还望各位不吝赐教,本文算是简单的笔记记录吧,方便自己和其他人参考