如何使用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应用中,可是这样做前端请求后端好像跨域了(之前以为子域名不会跨域),如果这样是正确的配置方法,那跨域问题后台怎么处理合适
子衿沉夜
相关分类