サーバー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にリダイレクトされることです。
ただし、返されるのはサービスが一時的に利用できないことだけです