环境:后端接口已经部署并进行了域名解析;
问题:前端本地 npm run dev没问题,打包之后出现404然后出现405;
凭借我多年的经验首先锁定到nginx上,但是我们的运维不太给力,搞了下没搞好,前端也是个小菜鸟,只能亲自上阵了。
后端的接口是正常的,并且进行了域名解析,跨域设置(这里后端的朋友注意下cors跨域)
所以只需要模拟出前端环境和运维环境就可以了
其中
VUE_APP_BASE_API
我这里是在下全局设置的为/apii/
,其实就是前端代理的前缀:http://前端ip:port/apii/后端接口
1、前端npm run build:prod 后生成的dist文件往tomcat- ROOT目录中一丢,ok跑起来了
2、接下来是nginx的配置了
因为前端请求后端进行了代理,通过
apii
前缀访问到后端接口,所以我的思路是必须要让这个前缀
换成我后端的域名:端口
,nginx中配置代理如下:这里是不需要进行ssl证书认证的
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8081;
}
# 主要就是这里,只需要nginx反向代理apii这个前缀就可以了,
location /apii {
# 这个是把apii前缀给去掉
rewrite ^/apii/(.*)$ /$1 break;
# 这个就是后端的接口地址
proxy_pass https://xx.xxx.com:10086;
}
........