【转】使用IIS做HTTP和WebSocket服务的反向代理
反向代理對于服務器來說是非常實用的功能,可以將毫不相關的網站部署到同一個域名下,對于使用docker的人來說可以免去大量配置上的麻煩。它還能將HTTP流量轉換成HTTPS,多個服務只需要一個證書就能解決。
對于nginx和Apache,網上已經有大量教程,不管是什么樣的服務都能找到相應的配置。然而由于使用IIS的人數相對較少,對于IIS的反向代理幾乎沒有什么人去研究。連進行URL重寫的AAR模塊也沒什么相關資料。
如果服務只需要用HTTP,配置相對簡單。首先添加入站規則,匹配模式設為xxx/(.*),重寫URL設為http://ip.address.or.domain/{R:1},同時勾選附加查詢字符串和停止處理后續規則就搞定了。
然而,很多時候光轉發HTTP是完全不夠的。許多服務在使用HTTP的同時還會打開WebSocket連接,URL為ws://或者wss://開頭。這種情況下如果只轉發HTTP,服務就無法正常使用,比如jupyter就無法啟動內核。所以,一般來說最好能同時轉發HTTP和WebSocket流量。
使用IIS實現起來并不復雜,然而由于資料較少,我沒少走彎路。除了之前轉發HTTP的配置外,在條件下添加一項,條件輸入為{CACHE_URL},模式為(.+)://,然后重寫URL改為{C:1}://ip.address.or.domain/{R:1},問題迎刃而解。
本文標題:使用IIS做HTTP和WebSocket服務的反向代理
文章作者:xieyi
發布時間:2017-11-17, 18:07:17
最后更新:2017-11-17, 11:54:44
原始鏈接:http://imxieyi.com/2017/11/17/使用iis做http和websocket服務的反向代理/?
許可協議:?"署名-非商用-相同方式共享 4.0"?轉載請保留原文鏈接及作者。
總結
以上是生活随笔為你收集整理的【转】使用IIS做HTTP和WebSocket服务的反向代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝怎么导入信用卡账单提高芝麻信用分
- 下一篇: 浙商银行信用卡怎么用微信还款