0

私はリダイレクトルールを持っています:

    <VirtualHost *:80>
        ServerAdmin webmaster@localhost

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

</VirtualHost>

<VirtualHost *:7080>
        ServerAdmin webmaster@localhost

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^/?(.*) https://merchant.juspay.in/$1 [R,L]

        RewriteCond %{SERVER_NAME} demo.juspay.in
        RewriteRule ^/?(.*) https://merchant.juspay.in/$1 [R,L]

</VirtualHost>


<VirtualHost *:8080>
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://api.juspay.in
</VirtualHost>

アパッチで。80自分の ip( localhost) のポートが にリダイレクトされないようにするルールを作成する方法が必要8443です。

どうやってやるの?

4

2 に答える 2

0

HTTPS (ポート 443) で入ってくるトラフィックをキャッチしたい場合は、このポートでリッスンする別の仮想ホストが必要になります。同じディレクトリと設定 (および SSL 証明書) を使用するだけで問題ありません。

RewriteRule を実行する必要はありません。Apache は、リクエストのプロトコルに基づいて、ファイルを提供するために使用する vhost を認識します。

于 2012-09-04T09:28:52.570 に答える
0

Apache の設定は「ポート 80 でリッスン」と言っています。これは VirtualHost の翻訳です。 <VirtualHost *:80>

したがって、リクエストがhttp://www.yourdomain.com:8443の場合、この仮想ホストにたどり着くとは思いません

この特定のポート (8443) でリッスンする別の vhost が必要です。または、それができると思います。

<VirtualHost *:80 *:8443>

2 つの異なるリスナーがセットアップされていることを確認します。

Listen 80
Listen 8443

私はあなたの質問をもう一度読んでいて、ポート 8443 自体にリダイレクトしていることを理解しました。これは、次のいずれかを意味します。

  • ルーターにポート転送設定があり、ポート 80 を 8443 に転送します。
  • このポートにリクエストをリダイレクトする htaccess ルールがあります。
  • あるいは、PHP アプリケーション自体かもしれません。
于 2012-09-04T09:27:56.010 に答える