在Nginx代理传输配置中实现跨域(API代理传输) 2285集合119 2017-04-08原文链接: www.thinktxt.com 1元视频体验视频通话10000分钟cloud.Tencent.08 正在解决。例如window.name、iframe、JSONP、CORS等,但不详细展开。 与协议,端口不同的域间请求方法涉及采用代理。 本节将重点介绍Nginx代理
在场景中,在3000个端口之前和之后的远程web APP应用程序将在本地启动,并且可以通过http://127.0.0.1:3000访问前端页面。 某些页面还具有请求http://127.0.0.1:3000/API/getlist的地址。 一般来说
该后端服务的接口存储在其他服务器上,例如在公司内部网络中可以通过http://172.30.1.12:8081/API/getlist访问测试环境的服务接口
在这种情况下的请求涉及端口不同的域之间,因此可以利用Nginx代理请求。
Nginx代理配置参考首先找到Nginx配置文件。
Windows下的路径在你安装Nginx的目录下查找。 例如,我的位于c驱动器的根目录中,路径是c :nginxconfnginx.conf MAC系统配置文件,路径是:/usr/local/etc/nginx/nginx
服务器{ listen 80; server_name 127.0.0.1; location/{ proxy _ pass http://127.0.0.133603000; } location~~/API/{ proxy _ pass http://172.30.1.12:8081; }
上述结构可以理解为如下。
监听80个端口,并将http://127.0.0.1上的所有请求服务转发到127.0.0.1端口3000。
将http://127.0.0.1/api/或http://127.0.0.1/api/getList请求转发到http://172.30.1.123:8081
完成上述配置后,可以直接从http://127.0.0.1访问web APP应用程序。 如果感觉到IP访问,还会根据Nginx配置请求相关的API请求。 浏览器端显示的/api/getList请求127.0.0.1端口为80个端口,但实际上该请求已经完成
友情提示:
Nginx的每一个组成句后必须加分; 否则会报安排错了,自己还很无知。
如果输入了扩展绑定host的IP访问而感到不舒服的话,可以自己修改host。 主机修正神器:推荐使用交换机主机。
如果绑定了host,在Nginx配置中当然也可以直接配置指定的域名,如下所示:
服务器{ listen 80; server_name www.domain.com; #在此处将IP更改为您的域名。更改host后,可以直接从您的域名访问。 例如http://www.domain.com
关于location的上面的配置,你可能会怀疑localtion后面的配置,但是localtion之后的一般需求有以下几点。
localtion/{ #所有请求都符合以下规则: #由于所有地址都以/开头,因此该规则与所有请求匹配。 # xxx你的构成写在这里}location=/{
#准确匹配/,后面带有字符串的地址不一致
}
位置/API {
#匹配任何/api开头的URL。 包含/api后面的任何URL,例如/api/getList
#匹配后,继续搜索
#只有在以下正则表达式不匹配时,此表达式才采用此表达式
}
localtion ~ /api/abc {
#匹配任何/api/abc开头的URL。 包括/api/abc之后的任何URL,例如/api/abc/getList
#匹配后,继续搜索
#只有在以下正则表达式不匹配时,此表达式才采用此表达式
}
在/generalmatching中,如果没有其他匹配项,则任何请求都将以=开头,表示正确匹配
如果a只与根目录的最后一个请求匹配,则后面不能有字符串。 ^~开头表示uri以某个普通字符串开始,不是正则匹配。 开头表示区分大小写的正则一致~*开头表示比不区分大小写的正则一致更详细的localtion的正则一致规则,nginx配置location总结和rewrite规则的写法值得参考
Nginx热门文章[翻译]开源项目Nginx razertory 10 5是一个小项目K8S部署策略野地15 1 Nginx和前端开发ccfe 1676 68 Cabloy-CMS :结合动作