簡體   English   中英

運行Fiddler作為HTTPS服務器的反向代理

[英]Running Fiddler as a Reverse Proxy for HTTPS server

我有以下情況:2台主機,一台是客戶端,另一台是HTTPS服務器。

Client (:<brwsr-port>) <=============> Web server (:443)

我在服務器上安裝了Fiddler ,這樣我就可以在我的服務器端口8888上運行Fiddler了。

我想達到的情況如下:

|Client (:<brwsr-port>)| <===> |Fiddler (:8888) <===> Web server (:443)|
|-Me-------------------|       |-Server--------------------------------|

從我的電腦我想聯系Fiddler,它將流量重定向到Web服務器。 然而,Web服務器使用HTTPS。

在服務器上,我設置了Fiddler來處理HTTPS會話並解密它們。 我被要求在服務器上安裝Fiddler的假CA證書,我做到了! 我還插入了Fiddler維基頁面建議的腳本來重定向HTTPS流量

// HTTPS redirect ----------------------- 
FiddlerObject.log("Connect received...");
if (oSession.HTTPMethodIs("CONNECT") && (oSession.PathAndQuery == "<server-addr>:8888")) {
    oSession.PathAndQuery = "<server-addr>:443";
}
// --------------------------------------

但是,當我嘗試https://myserver:8888/index.html我失敗了!

失敗的細節

在客戶端上使用Fiddler時,我可以看到CONNECT請求啟動但會話失敗,因為響應是HTTP錯誤502.看起來沒有人在端口8888上偵聽。事實上,如果我在服務器上停止Fiddler,我會得到相同的情況:502壞網關。

請注意,當我嘗試https://myserver/index.htmlhttps://myserver:443/index.html一切正常!

我究竟做錯了什么?

有可能......?

我認為,因為TLS / SSL可能在端口443上運行,我應該讓Fiddler在那里監聽並將我的Web服務器移動到另一個端口,例如444(我應該在IIS上設置一個https綁定在444端口)。 這是正確的嗎?

如果未將Fiddler配置為客戶端的代理,而是在服務器上作為反向代理運行,則事情會變得復雜一些。

運行Fiddler作為HTTPS的反向代理

  1. 將現有HTTPS服務器移動到新端口(例如444)
  2. 在工具>提琴選項>連接內,勾選Allow Remote Clients to Connect 重啟Fiddler。
  3. 在Fiddler的QuickExec框中,輸入!listen 443 ServerName其中ServerName是服務器的主機名; 例如,對於https://Fuzzle/您將使用fuzzle作為服務器名稱。
  4. 在OnBeforeRequest方法中,添加:

     if ((oSession.HostnameIs("fuzzle")) && (oSession.oRequest.pipeClient.LocalPort == 443) ) { oSession.host = "fuzzle:444"; } 

你為什么需要這樣做?

!listen命令指示Fiddler創建一個新端點,該端點將在連接時與客戶端執行HTTPS握手; 默認代理端點不這樣做,因為當代理收到HTTPS流量的連接時,它會獲得HTTP CONNECT請求而不是握手。

我剛遇到類似的情況,我有VS2013(IISExpress)在HTTPS(端口44300)上運行Web應用程序,我想從移動設備瀏覽應用程序。

我將Fiddler配置為“充當反向代理”並“允許遠程客戶端連接”但它只能在端口80(HTTP)上工作。

根據EricLaw的建議,我將監聽端口從8888更改為8889並運行命令“ !listen 8889 [host_machine_name] ”和bingo我能夠在端口8889上通過HTTPS瀏覽我的應用程序。

注意:我之前已將轉發端口號輸入注冊表( 如此處所述 ),因此Fiddler已經知道要將請求轉發到哪個端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM