为了账号安全,请及时绑定邮箱和手机立即绑定

Ngin+Node 请求代理如何区分前端静态资源代理与接口请求代理,跨域如何解决适合?

Ngin+Node 请求代理如何区分前端静态资源代理与接口请求代理,跨域如何解决适合?

米脂 2019-03-06 17:15:16
如何使用Nginx反向代理请求能够将静态资源与接口请求区分开?本人纯前端一名,在扩展后端知识,打算使用Node+Nginx试着走后端知识,因为Node的优势在于处理I/O,所以打算将静态资源交给Nginx来代理    # 静态资源虚拟主机    server {        # 侦听8130端口        listen       8130;        #定义使用 www.redcoat.com访问        server_name  www.redcoat.com;        #charset koi8-r;        root /Users/gi/Desktop/BandApp/WWW/www.redcoat.com/dist;        # 设定本虚拟主机的访问日志        #access_log  logs/host.access.log  main;        # 默认请求        location / {            # 定义服务器的默认网站根目录位置            root   /Users/gi/Desktop/BandApp/WWW/www.redcoat.com/dist;            # 定义首页索引文件的名称            index  index.html index.htm;        }        # 静态文件,nginx自己处理        location ~ ^/(images|javascript|js|css|flash|media|static)/ {                        #过期30天,静态文件不怎么更新,过期可以设大一点,            #如果频繁更新,则可以设置得小一点。            expires 30d;        }        # 定义错误提示页面        error_page  404              /404.html;        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    }疑问先上代码,这是我在Nginx中的静态资源代理配置,代码也的确生效成功了但是如果我想请求的不是静态资源,而是后台的接口了?这样子配的话,岂不是我没加一个接口都要在这里配置一条路径匹配?(正确做法是怎样的?是像我写的下面那样解决吗?)在未得到正确做法前,我思考了一下写前端时请求后台,我想到的是将后台的域名跟前台域名区分下,做一个子域名,这样前台请求接口就可以直接请求后台的域名接口,然后在Nginx中在代理下后台域名的请求,反向的Node应用中,可是这样做前端请求后端好像跨域了(之前以为子域名不会跨域),如果这样是正确的配置方法,那跨域问题后台怎么处理合适
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

可以把后端的请求都统一加上前缀,如 /api/


查看完整回答
反对 回复 2019-03-19
  • 2 回答
  • 0 关注
  • 1147 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号