2017-11-14 3 views
0

私は新人ですが、しばらくの間これで苦労しました。間違ったことをしています。Apache 2.4はhttpsを別のポートにリダイレクトします

内部Webページの前面にApache 2.4を使用しています。私たちは、のリダイレクトを維持する必要が

LoadModule proxy_module modules/mod_proxy.so 
LoadModule proxy_http_module modules/mod_proxy_http.so 
LoadModule rewrite_module modules/mod_rewrite.so 

<VirtualHost *:80> 
    RewriteEngine on 
    RewriteCond %{HTTPS} !on 
    RewriteRule ^(.*) %{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
</VirtualHost> 

<VirtualHost *:443> 
    SSLEngine on 
    SSLCertificateFile "C:/Program Files/Apache24/conf/ssl/company.crt" 
    SSLCertificateKeyFile "C:/Program Files/Apache24/conf/ssl/company.key" 
    SSLCertificateChainFile "C:/Program Files/Apache24/conf/ssl/CA.pem" 

    # Proxy configuration 
    ProxyPreserveHost On 
    ProxyRequests Off 
    ServerName demos.company.com 

    ProxyPass /WebApplicationOK http://10.0.0.160/WebApplicationOK 
    ProxyPassReverse /WebApplicationOK http://10.0.0.160/WebApplicationOK 
    ProxyPass /WebApplicationFailRoute http://10.0.0.125:8000/WebApplicationFail 
    ProxyPassReverse /WebApplicationFailRoute http://10.0.0.125:8000/WebApplicationFail 
</VirtualHost> 

私が80以外のポートに要求を転送しようとすると、それはクレイジー行くとリダイレクトされ、数回 http://demos.company.com/demos.company.com/demos.company.com/demos.company.com/demos.company.com/demos.company.com/demos.company.com/[...]/demos.company.com/WebApplicationFail

のhttpd.conf httpsへのすべてのhttp要求。

可能であれば、インターネットアドレス "https://demos.company.com/ThisContext"はイントラネットWeb "http://10.0.0.125:8000/OtherContext"を表示する必要があります。

ありがとうございます。

+0

には、おそらく 'https://%{HTTP_HOST}%{REQUEST_URI} 'にリダイレクトしたいでしょう。 –

+0

httpdサービスを再起動する際にエラーがありますか? –

+0

Apacheとリダイレクトサーバーは同じマシンにありますか? –

答えて

0

これは、簡単な作業のために複雑な指令を追加する際の問題です。

ポート80を使用するバーチャルホストがあります。なぜなら、SSLをチェックするのはなぜですか?受信するものはすべてSSLではありません。

また、rewriteディレクティブにはスキームがありません。

だから:あなたは変数のホスト名に、変数を使用する必要がない場合

RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L] 

私はさらに簡単に行くだろう:HTTPDで成功するための

Redirect/https://whateverhost.example.com/ 

ルールは:といつも行きます最も簡単なオプションです。

+0

ありがとうございます。 httpからhttpsへのリダイレクトはすでに機能しています。 私が欲しいのは、あなたがアドレス "https://demos.company.com/WebApplicationFailRoute"にリクエストをすると、ウェブページ "http://10.0.0.125:8000/WebApplicationFail"が表示されます。インターネット上に公開されています。 リダイレクトが多すぎます。 問題はポートにあり、標準ポートへのリダイレクトを行うと機能します。 「https://demos.company.com/WebApplicationOK」は、「http://10.0.0.160/WebApplicationOK」を正しく示しています。 – arkaron

+0

申し訳ありません私は従いません。 –

関連する問題