21

サーバーに Apache がインストールされており、http から https にリダイレクトする必要があります。これは、ロード バランサー ソリューションが https を処理できないため、リクエストが http で受信され、httpd.conf ファイルの以下の行を使用してそれらを https に転送するためです。

<VirtualHost 10.1.2.91:80>
     Redirect 302 /GladQE/link https://glad-test.com/GladQE/link.do
</VirtualHost>

これは GET リクエストでは問題なく機能しますが、POST リクエストでは URL で渡されたパラメーターが失われます。このリダイレクトを実行し、POST パラメータを維持する最も簡単な方法は何ですか?

http://glad-test.com/GladQE/link.doからここhttps://glad-test.com/GladQE/link.doに移動して POST パラメータを維持する必要があります

ありがとう

トム

4

3 に答える 3

20

標準の Apache リダイレクトは、URL レベルで機能するため、POST データを処理できません。POST データはリクエストの本文で渡されますが、標準のリダイレクトを行うとドロップされます。

PHP スクリプトを使用して POST 要求を透過的に転送するか、次のように Apacheの Rewrite ( ) モジュールmod_rewriteと Proxy ( ) モジュールを組み合わせて使用​​するオプションがあります。mod_proxy

RewriteEngine On
RewriteRule /proxy/(.*)$ http://www.example.com/$1 [P,L]

Pflag はリクエストを Proxy モジュールに渡すため、 で始まる URL パスを使用して (GET または POST 経由で) サイトに来るものはすべて、 へ/proxy/のプロキシ リダイレクトとして透過的に処理されhttp://www.example.com/ます。

参考までに:

于 2014-02-18T16:26:38.377 に答える
0

機密性を保護するために公開 Web サイトで SSL を使用する必要があるか、機密データが通過することがなく、sslstripping の起動ボードにサイトが使用される可能性はありません (Google が検索結果を提供するのには十分な理由があります)。 HTTPS)。

ブラウザとサイト間のトラフィックを暗号化していないのに、ロード バランサーと Web サーバー間のトラフィックを暗号化しようとするのはなぜですか? ロード バランサーの外部で SSL ターミネーションを使用している場合 (非常にばかげたアプローチ)、ロード バランサーと Web サーバー間で HTTPS を使用することは効率的とは言えません。この質問は、セッション固定/盗聴や SSLStripping の脆弱性など、他の多くのセキュリティ問題も暗示しています。

于 2014-02-18T16:47:49.910 に答える