后台接口和后台管理的前端页面时的跨越问题。
在前端页面访问后台接口的过程中会出现跨域问题,跨域是浏览器限制的,当一个网页域名访问另外一个网页数据时,只要协议、域名、端口号任何一个不同就会当作跨域。例如,我的后台接口的baseUrls是:http://localhost:8080/gameboxer-backend-api,前段页面地址是:http://localhost:9528/login。当前端页面访问接口时,就有跨域问题。在nginx的nginx.conf文件中配置如下:
http{
server {
listen 81; //nginx服务监听81端口
server_name localhost; //服务器名称
/***所有http://localhost:81/gameboxer-backend-api 地址代理到proxy_pass对应的地址 下,访问http://localhost:81/gameboxer-backend-api这个地址,加相当于访问了proxy_apss对应的地址*****/
location /gameboxer-backend-api{
proxy_pass http://localhost:8080/gameboxer-backend-api;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
//所有happ://localhost:81地址代理到proxy_pass对应的地址下
location / {
proxy_pass http://localhost:9528/; //前端实际地址
}
}
}
配置完成后前端页面访问接口时,前端代码调用接口地址为:http://localhost:81/gameboxer-backend-api,前段页面地址在浏览器上改为http://localhost:81/login即可,这样前端地址和接口可地址就在同一个域内。
其他配置:
1,访问服务器图片
比如:图片在/home/upload文件夹下
location /pic {
root /home/upload; //图片在服务器的路径,root表示以root权限进行访问
}
如果:upload文件夹下有1.jpg图片
访问地址:http://localhost:81/pic/1.jpg
upload下还有多层目录时,如upload下有a ,b 两个目录时,a b 下都有图片文件,
location /image/ {
autoindex on;
alias /home/upload/;
}
访问地址:http://localhost:81/image/a/1.jpg http://localhost:81/image/b/1.jpg
2.前端静态页面
location /xmx-admin {
alias /home/test_deploy_script/xmx/adminview/code/xmx-admin-view/dist/; //静态页面的路径
}
访问地址:http://localhost:81/xmx-admin