1. IIS反向代理
1.1 IIS7反向代理解决跨域问题
IIS的版本必须是IIS7及其以上,否则没有反向代理功能;按照以下步骤来配置IIS,以实现反向代理;
1.2 配置步骤
1. 下载安装ARR(Application Request Routing),http://www.iis.net/downloads/microsoft/application-request-routing
2. 如上图所示,点击红框选项;
3. 如上图所示,点击红框选项
4. 如上图所示,选中复选框;
5. 选择URL重写
6. 添加规则
7. 创建一个空白规则
8. "匹配URL"中设置模式,"^nginx/(.*)"意思是将捕获匹配的URL,不匹配的URL不会进入这个规则中
9. 添加一个条件
10. 添加的条件输入为"{HTTP_HOST}",意思是请求的主机名;模式格式为:“^绑定的域名$”,后面会将这个绑定的域名按照后面的规则操作;如果网站主机端口号不是默认的80端口,则需要在后面添加上端口号,如"^localhost:8080$"
11. 后面跟上“{R:1}”意思是把请求的域名后面的参数也带过来;这就是我们真正要访问的地址,这里用来替换上一步中格式绑定的域名;
12. 点击"应用"应用该规则
13. 点击重新启动,使配置信息生效,此后就可以通过该IIS反向代理到域外的网址;
1.3 示例
这里提供一段示例截图,来解释如何使用这个反向代理的代理服务器
访问的地址根路径必须是与"匹配URL"中的"模式"匹配,如我们这个说明中配置的是"^nginx/(.*)",因此在访问域外地址的时候地址必须是"/nginx/api/wec/GetDeviceStatusList"(这里不包括网址前的协议,域名和端口)
2. Nginx反向代理
2.1 nginx反向代理解决跨域问题
本文档中使用的版本是nginx-1.13.8,nginx在windows中的路径中不能有中文路径名,路径名中不能有空格;
本文档的nginx的"工作目录"就是上图所示目录中
2.2 配置步骤
1. 打开控制台窗口,并切换到工作目录,执行"nginx -c ./conf/nginx.conf"后,就如上图上图所示,阻塞到这里,就说明启动成功了;
2. 在浏览器中输入"localhost",如果出现上图所示页面,说明nginx已经在正常工作了;
3. 打开配置文件"./conf/nginx.conf",如上图所示
4. 在配置文件中添加上图所示相关配置,就可以成功进行反向代理了;
2.3 nginx使用注意事项
1. nginx正在运行,配置文件被修改了,只需要执行命令"nginx -s reload"即可让nginx重新加载配置信息了;
2. nginx必须通过命令"nginx -s stop"或者"nginx -s quit"结束,否则进程不会退出;