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"結束,否則進程不會退出;