1

私は私たちのウェブサイトの1つにSSLを実装しようとしています。WebサイトはApache2.2をWebサーバーとして使用し、AJPプロトコルを介してTomcat7と通信します。

ベリサインから証明書を購入しました。また、ApacheWebサーバーサーバーに同じものをインストールすることができました。すでに行った構成について説明します。

httpd.conf

Listen 82
LoadModule ssl_module libexec/mod_ssl.so
Include etc/extra/httpd-ssl.conf
Include etc/extra/httpd-vhosts.conf

httpd-ssl.conf

Listen 443
<VirtualHost _default_:443>
ServerName test.domain.com:443
ServerAdmin root@test.domain.com
SSLEngine on
SSLCertificateFile /opt/csw/ssl/test.crt
SSLCertificateKeyFile /opt/csw/ssl/test.key
SSLCertificateChainFile /opt/csw/ssl/test.crt
<Virtual Host>

httpd-vhosts.conf

NameVirtualHost *:82
NameVirtualHost *:443
Include etc/vhosts/test.conf

test.conf

<VirtualHost *:82 *:443>
    ServerName test.domain.com
    RewriteEngine On
    RewriteRule ^/(test/registration.cfm) /test/$1 [P,L]
    RewriteRule ^/(index.cfm) / [P] 
    ProxyRequests Off
<Proxy balancer://testBal>
BalancerMember ajp://<tomcat_server>:8009/test
BalancerMember ajp://<tomcat_server2>:8009/test status=+h
</Proxy>
ProxyPass /test/admin/ !
    ProxyPass /test/ balancer://testBal/
    ProxyPass / balancer://testBal/
</VirtualHost> 

Ok。ここで問題となるのは、URLhttps://test.domain.comにアクセスするたび空白のページが表示されることです。ただし、サイトが認定済みとして認識されており、証明書を表示することもできます。apacheアクセスログに表示される内容-"GET/favicon.icoHTTP / 1.1" 404209"およびエラーログ-"ファイルが存在しません:/opt/csw/apache2/share/htdocs/favicon.ico"。Tomcatサーバーは8080ポートで実行されています。この数日間、この問題に苦労していますが、役に立ちません。ご提案とサポートに感謝します。ありがとうございます。

4

1 に答える 1

3

Ok。だから私はこれを修正したと思います。以下の変更が行われます。

http-ssl.conf

Listen 443
<VirtualHost *:443>
#ServerName test.domain.com:443
ServerAdmin root@test.domain.com
SSLEngine on
SSLCertificateFile /opt/csw/ssl/test.crt
SSLCertificateKeyFile /opt/csw/ssl/test.key
SSLCertificateChainFile /opt/csw/ssl/test.crt
<Virtual Host>

どういうわけか、サーバー名がtest.confで定義されていることに気付いたので、ここhttp-ssl.confでコメントしただけで、魅力のように機能しました。Webサイトはhttpおよびhttpsプロトコルもリッスンします。httpsプロトコルを強制的に使用するには、以下の変更を加えることができます。これをテストすることはできませんでしたが、動作するはずです。それは必要ではありませんでした。

test.conf

 <VirtualHost *:82 *:443>
 ServerName test.domain.com
 RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
 RewriteRule ^/(test/registration.cfm) /test/$1 [P,L]
 RewriteRule ^/(index.cfm) / [P] 
 ProxyRequests Off
 <Proxy balancer://testBal>
 BalancerMember ajp://<tomcat_server>:8009/test
 BalancerMember ajp://<tomcat_server2>:8009/test status=+h
 </Proxy>
 ProxyPass /test/admin/ !
 ProxyPass /test/ balancer://testBal/
 ProxyPass / balancer://testBal/
 </VirtualHost>

ありがとうございました!

于 2013-02-22T03:55:57.400 に答える