iT邦幫忙

0

要怎麼確認apache SSL SNI是否真的有動作?

  • 分享至 

  • xImage

抱歉打擾大家,又來問問題了,這幾天一直在爬文尋找單一IP多個SSL的資訊。

我想要讓兩個多網域憑證都可以正常生效:
第一張憑證要輸入密碼,第二張憑證不用。
有使用到RewriteMap定義網站集合的資料位置跟對應網域。
設定沒有問題,重啟服務也沒有問題。
憑證目前只有第一張生效,第二張憑證的網域都會對應到第一張憑證而不是第二張憑證。

已經確認環境方面都滿足
Openssl 0.9.8j以上
enable ssh virtual host
apache 2.2.12以上

有一點沒有頭緒了,還請幫忙解惑,感激不盡。

抱歉,這是設定檔:

LoadModule ssl_module modules/mod_ssl.so
Listen 443
NameVirtualHost *:443

#SSLStrictSNIVHostCheck on

SSLPassPhraseDialog exec:/etc/pki/tls/certs/apache_pass.sh
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout  300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom  256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin

<VirtualHost _default_:443>
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/tls/certs/1.crt
SSLCertificateKeyFile /etc/pki/tls/certs/1.key
SSLCertificateChainFile /etc/pki/tls/certs/GRCA1_5_GCA2.crt

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

        DocumentRoot            "/var/www/html/web"
        ServerName              網站1:443
        RewriteLog              logs/rewrite.log
        RewriteLogLevel         0
        RewriteEngine           on
        RewriteMap              lowercase int:tolower
        RewriteMap              vhost txt:/var/www/html/web/using-subsite.map
        RewriteCond             ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
        RewriteCond             ${vhost:%1} ^(/.*)$
        RewriteRule             ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]


</VirtualHost>

<VirtualHost *:443>

        DocumentRoot            "/var/www/html/web"
        ServerName              網站2:443
        RewriteLog              logs/rewrite.log
        RewriteLogLevel         0
        RewriteEngine           on
        RewriteMap              lowercase int:tolower
        RewriteMap              vhost txt:/var/www/html/web/using-subsite.map
        RewriteCond             ${lowercase:%{HTTP_HOST}|NONE} ^(.+)$
        RewriteCond             ${vhost:%1} ^(/.*)$
        RewriteRule             ^/(.*)$ %1/$1 [E=VHOST:${lowercase:%{HTTP_HOST}}]

ErrorLog logs/ssl2__error_log
TransferLog logs/ssl2__access_log

LogLevel warn

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

SSLCertificateFile /etc/pki/tls/certs/2.crt
SSLCertificateKeyFile /etc/pki/tls/certs/2.key
SSLCertificateChainFile /etc/pki/tls/certs/GRCA1_5_GCA2.crt

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>
看更多先前的討論...收起先前的討論...
weiclin iT邦高手 4 級 ‧ 2018-11-13 12:02:05 檢舉
建議你把 apache vhost 設定檔貼上來
snameless iT邦新手 4 級 ‧ 2018-11-13 12:09:48 檢舉
抱歉,已補上
weiclin iT邦高手 4 級 ‧ 2018-11-13 13:39:24 檢舉
ServerName 後面沒有在加 port 的, 看看是不是這問題
snameless iT邦新手 4 級 ‧ 2018-11-13 23:32:29 檢舉
試過了,不是這個問題。
cshalove iT邦新手 4 級 ‧ 2018-11-14 10:17:09 檢舉
Apache 2.2版,應該不支援多憑證的SNI,之前有試過失敗,所以改用 Apache 2.4版後就可以支援多憑證的SNI簽章。
若是想要用apache2.2的話改443 port比較可以達成 另如A憑證使用原本443,B憑證使用8443,
或是將AB憑證重新申請為C (包含AB憑證的SNI),那就只需要使用單一SSL設定即可。
snameless iT邦新手 4 級 ‧ 2018-11-15 14:23:39 檢舉
請問mod_gnutls
這個替代方案是能夠用的嗎?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答