1

お客様のためにカスタム サブドメインを使用する PHP サイトを運営しているため、ワイルドカード VHost を使用したワイルドカード SSL 証明書を Apache (バージョン 2.2.3) に実装しました。これらのサブドメイン PHP Web アプリは、REST および RPC API の 2 つの URL プレフィックスの背後で Pyramid Web アプリへのリバース プロキシも利用します。

Pyramid で実行される管理インターフェイスもあります。通常は単純に管理インターフェイスへのリバース プロキシを使用しますが、これらの仮想ホストの両方にワイルドカード SSL 証明書を使用できないようです。私は何を間違っていますか?

仮想ホストの設定は次のとおりです。

NameVirtualHost *:443

<VirtualHost *:443>
    ServerName example.com
    ServerAlias *.example.com
    DocumentRoot /var/www/html/example/current/www
    ErrorLog logs/wild-example.com-SSL-error_log
    CustomLog logs/wild-example.com-SSL-access_log combined
    SSLEngine On
    SSLCertificateFile /etc/pki/tls/certs/star_example.com.2012.crt
    SSLCertificateKeyFile /etc/pki/tls/private/star_example.com.key
    SSLCACertificateFile /etc/pki/tls/certs/NetworkSolutions_CA.2012.crt
    <Directory /var/www/html/example/current/www>
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    ProxyRequests On
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass /restapi/ http://127.0.0.1:6543/restapi/
    ProxyPassReverse /restapi/ http://127.0.0.1:6543/restapi/
    ProxyPass /rpcapi/ http://127.0.0.1:6543/rpcapi/
    ProxyPassReverse /rpcapi/ http://127.0.0.1:6543/rpcapi/
</VirtualHost>

<VirtualHost *:443>
    ServerName example.com
    ServerAlias admin.example.com
    DocumentRoot /var/www/html/example/current/www
    ErrorLog logs/admin-example.com-SSL-error_log
    CustomLog logs/admin-example.com-SSL-access_log combined
    SSLEngine On
    SSLCertificateFile /etc/pki/tls/certs/star_example.com.2012.crt
    SSLCertificateKeyFile /etc/pki/tls/private/star_example.com.key
    SSLCACertificateFile /etc/pki/tls/certs/NetworkSolutions_CA.2012.crt
    <Directory /var/www/html/example/current/www>
        DirectoryIndex index.php
        Options FollowSymLinks
        AllowOverride All
    </Directory>

    ProxyRequests On
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:6542/
    ProxyPassReverse / http://127.0.0.1:6542/
</VirtualHost>
4

2 に答える 2

0

ssl_error ログにエラー メッセージが記録されていますか? メイン仮想ホストをコピーして、特定のサブドメイン仮想ホストとして設定するだけでよいはずです。

実際、元の *.example.com は、任意のサブドメインをカバーする必要があります。新しいサブドメインを通常のポート 80 の vhost として指定するだけで、https://admin.example.comのサイトにアクセスすると、保護されるはずです。

于 2012-04-10T17:58:38.067 に答える
0

次の行を削除します。

    ServerAlias *.example.com

2 番目の VirtualHost セクションで、ServerName を変更します。

    ServerName admin.example.com

こぶし*。最初の VirtualHost セクションで admin.example.com をトラップします。また、両方が同じ VirtualHost (example.com) を定義することも望ましくありません。ServerName はサブドメインごとに異なる必要があります。

于 2013-09-10T10:45:31.373 に答える