Apache 網站設定 SSL 連線

    版本為 05:46, 26 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    本篇將以兩種不同使用模式來說明:

    1. 一般網站模式: 這用於一般型網站的 SSL 加密連線,適用於各類公開型網站。
    2. 認證連線模式: 這對於某些非公開型的網站,例如 Elastix 的 UI 存取,用戶端必須安裝指定的憑證檔才能對網站作存取。

    模式一: 公開型網站

    需要的檔案

    • Server 憑證檔 (xxx.crt)
    • Server 金鑰檔 (xxx.key)
       

    編輯 /etc/httpd/conf.d/ssl.conf: (以 CentOS 5.x 為例)

    LoadModule ssl_module modules/mod_ssl.so
    
    Listen 443
    
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
    ...
    
    <VirtualHost _default_:443>
    ServerName this.is.your.host: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/mypbxCA/certs/this-is-your-host_SERVER.crt            <=== 這裡
    SSLCertificateKeyFile /etc/pki/mypbxCA/private/this-is-your-host_SERVER.key  <=== 這裡
    ...
    </VirtualHost>
    

    重啟 Apache 服務

    用戶端

    開啟 Firefox 輸入 https://this.is.your.host/

    模式二: 非公開型網站 (用戶端必須安裝指定憑證檔)

    需要的檔案

    • Server 憑證檔 (xxx.crt)
    • Server 金鑰檔 (xxx.key)
    • PKCS#12 憑證檔 (xxx.p12) 用戶端匯入用
       

    編輯 /etc/httpd/conf.d/ssl.conf: (以 CentOS 5.x 為例)

    ...
    <VirtualHost _default_:443>
    ServerName this.is.your.host: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/mypbxCA/certs/this-is-your-host_SERVER.crt            <=== 這裡
    SSLCertificateKeyFile /etc/pki/mypbxCA/private/this-is-your-host_SERVER.key  <=== 這裡
    
    SSLVerifyClient require <=== 這裡
    SSLVerifyDepth  10 <=== 這裡
    ...
    </VirtualHost>

    重啟 Apache 服務

    用戶端

    開啟 Firefox 輸入 https://this.is.your.host/,會看到以下視窗

    SSL_noCA.png

     會出現這訊息是因為 Server 憑證是我們自己所簽署的,可以選擇 新增例外網站 後,就可以繼續這個網站的存取,爾後用戶再次瀏覽時,就不再出現這個訊息。

    假使不想讓用戶看到這訊息,以及新增例外網站,有兩個作法:

    1. 透過第三方的憑證認證機構來簽署 Server 憑證,例如 Verisign,這需要付費。
    2. 將 CARoot 憑證檔傳給用戶,並匯入用戶端的 Firefox,匯入方法:
      Firefox > 選項 > 進階 > 加密 > 檢視憑證清單
       

     

     

    Powered by MindTouch Core