1

サーバーAのApacheで実行されているWebページ/サービスがほとんどありません。Webサービスの1つは、別の物理サーバーBで実行されているアプリケーションにアクセスする必要があります。この別のサーバーBには、Tomcatがインストールされています。サーバー上で、BIは8080と8443を除くほとんどのポートを無効にしました。URLスキームを維持するために、サーバーBで処理する必要があるその1つのサービスのTomcatサーバーのプロキシとしてApacheサーバーを機能させます。すべてのWebサービスは保護されており、https経由でのみアクセスする必要があります。httpsを使用してapacheの他のプロジェクトにアクセスできるため、証明書ファイルは正しくインストールされます。

サーバーBで処理されるその1つのWebサービスにアクセスしようとすると、503エラー-サービスが一時的に利用できなくなります)が繰り返し発生します。

両方のサーバーでのセットアップは次のとおりです。

Apacheを使用するサーバーAの場合:

httpd.confファイルで次のディレクティブを有効にして、プロキシが有効になっていることを確認しました。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

また、httpdconfファイルに次の2行を追加しました

ProxyRequests Off
ProxyPreserveHost on

次に、ssl.confに次の行があります

Listen 443
<VirtualHost _default_:443>
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/pki/tls/certs/your_company_certificate.pem
SSLCertificateKeyFile /etc/pki/tls/certs/your_company_private_key.pem
ServerName my_company_domain_name
ProxyPass /app http://tomcat_server_ip:8443/app
ProxyPassReverse /app http://tomcat_server_ip:8443/app
</VirtualHost>

別のサーバー(B)にあるtomcatで、server.xml内で次のように指定しました。

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="true" redirectPort="443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"/> 

 <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="true" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true"        
        scheme="https"
        secure="false" 
        SSLEnabled="true" 
        proxyPort="443"
        proxyName="my_company_domain_name"
     />

テスト結果:

望ましい結果は 、ブラウザでこのURL https:// my_company_domain_name / appにアクセスすると、 http:// tomcat_server_ip:8443/appにリダイレクトされることです。

ただし、返されるのはサービスが一時的に利用できないことだけです

4

1 に答える 1

3

ポート 8443 は https 経由です。なぜ http で参照しているのですか?また、最初にhttps://tomcat_server_ip:8443/appが正しく機能することを確認する必要があります。

于 2012-04-14T05:28:54.030 に答える