2016-10-13 5 views
0

localhost:8000で動作する小さなプロキシサーバーを作成しましたが、特定のURLのコンテンツを置き換え、他のURLはそのまま残しておきます。ローカルプロキシサーバーでhttpsをサポートするにはどうすればよいですか?

現在、Example Domainexample.comページのHello World!に置き換えています。これを構築するために私はproxy-tamperパッケージを使用しました。私が使用するプロキシサーバを開始し、その後

"use strict"; 

const proxy = require('proxy-tamper').start({port: 8000}); 

// block share-term.me 
proxy.tamper(/share-term.me\/$/, 'This content is blocked!'); 

// Replace the content on example.com 
proxy.tamper(/example.com\/$/, request => { 
    delete request.headers['accept-encoding']; 
    request.onResponse(response => { 
    response.body = response.body.replace(/Example Domain/g, 'Hello World!'); 
    response.headers['server'] = 'proxy-tamper 1337'; 
    response.headers['content-length'] = response.body.length; 
    response.complete(); 
    }); 
}); 

node proxy-server.js 

をそして最後に、--proxy-serverオプションを設定することで、google-chrome-stableを開始

コードは、この(proxy-server.jsに保存されている)のように見えます:

google-chrome-stable --proxy-server='http=http://localhost:8000;https=http://localhost:8000' http://domain.com 

これはhttp://example.comですが、https://example.comで失敗します。実際にはhttpsをサポートしていません。

私はhttp://example.comを開いたとき、私は交換したコンテンツを参照してください。

をしかし、私はhttps://example.com(または任意のhttps URL)を開いたとき、それはERR_EMPTY_RESPONSEで終わる、失敗:

私のプロキシサーバーにhttpsのサポートを追加するにはどうすればいいですか、または少なくともhttpsのURLをhttpに迂回させるにはどうすればよいですか?

--ignore-certificate-errors--allow-insecure-contentを使用してChromeプロセスを実行しようとしましたが、役に立たなかった。

私は強いhttps関連のセキュリティを持っていることに主眼を置いているわけではありませんが、私は自分のサーバーからこれらのhttpsリクエストをプロキシし、クライアントで応答を送信したいと考えています。

答えて

0

proxy-tamperにはhttps要求の機能がないようです。これはhttpをサポートしています(これを書いているとドキュメントを見て)。

代わりにnode-http-proxyパッケージを使用できます。 https hereをサポートする上で素晴らしいセクションがあります。

を編集してください。あなたが実際にhttpsレスポンス本体をサーバー側で変更できるかどうか確認できますか?この情報は技術的に暗号化されませんか?サーバー上の復号化がプロトコルに技術的に違反するのではなく、許可されていないのですか?

+0

私は 'http-proxy'を試しましたが、回答コンテンツを変更する簡単な解決策がないことを[ここ](https://github.com/nodejitsu/node-http-proxy/issues/382)で読んでいました。何か案は? –

+0

@IonicăBizău私はチェックする必要があります、私はあなたに戻ってみましょう。サーバー側では可能ですが、パッケージ自体を編集することなくコンテンツの変更をパッケージがサポートしていない可能性があります。 – Dandy

+0

私は、HTTPSをサポートしているプロキシサーバーの最小限の例がある限り、パッケージを変更して拠出することに満足しています。 –

関連する問題