最近在做電子簽章的功能,需要調用HuaWei提供的接口,將待簽章的結構化數據及文檔傳遞過去,待HuaWei側簽章完成後,再調用我方接口將簽章文檔回傳回來;
但是我方發起請求的服務器在內網,不允許直接訪問他們的公網地址,訪問時會報:Unable to connect to the remote server
然後就想到我們有一個公網服務器可以直接訪問他們地址,於是就想在公網服務器上做一個反向代理,通過URL重定向實現內網訪問外網。
故事背景說完了,看下怎麼配置的反向代理:
第一步:安裝Application Request Route,這個不贅述了,參考地址:https://www.cnblogs.com/Leo_wl/p/5104006.html
第二步:創建Server Farm,如下圖:
第三步:配置路由,如下圖:
要注意路由中的通配符的使用,和正則表達式還不太一樣,寫的正則竟然test不通過,有時間再學習一下吧
第四步:測試地址是否配置成功,在之前不能訪問的服務器中打開瀏覽器,請求配置的地址,可以發現已經成功了!
其實在公網服務器上做個WebService供內網上調用也能解決這個問題,但是要加很多代碼,相當麻煩;
前輩們已經把工具做好了,我們要學會使用,找準方向就能事半功倍。
高興的太早了(! _ !)
反向代理設置好之後,調用代理地址時報異常:
System.InvalidOperationException: Client found response content type of '', but expected 'text/xml'. The request failed with an empty response.
網上查了一下應該是因爲之前的地址時https,轉換爲代理之後地址爲http協議,兩個協議轉換的時候有問題;