1. 程式人生 > >ubuntu 14.04伺服器環境下apache2.4配置SSL

ubuntu 14.04伺服器環境下apache2.4配置SSL

最近因為開發微信小程式,需要在服務端搭建https,在網上找了幾篇配置SSL的部落格,感覺都不是特別滿意,感覺這一篇寫的還挺好的。

1.查詢apache的SSL模組

ubuntu下,apache的預設模組目錄是/usr/lib/apache2/modules/

$ cd /usr/lib/apache2/modules/
$ ls

找到"mod_ssl.so"模組後,我們到apache的配置目錄,預設是/etc/apache2

在該目錄下面我們找到apache2.conf

$ cd /etc/apache2
$ ls
$ vi apache2.conf

2.增加mod_ssl.so依賴

在最後一行加上

LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so

3.HTTP配置訪問

開啟sites-enabled檔案,開啟000-default.conf檔案,如果沒有此檔案新建一個。

並且修改內容如下所示

<VirtualHost *:80>
    ServerName safe.example.com #(要繫結的域名)
    Options FollowSymLinks
    # 自動將80埠的訪問,重定向到https的域名
    Redirect permanent / https://safe.example.com
    
    # 也可以使用IF-ELSE條件選擇來禁止IP訪問:
    # <If "%{HTTP_HOST} == 'safe.example.com'">
    #     Redirect permanent / https://safe.example.com/
    # </If>
    # <Else>
    #     Order allow,deny
    #     Deny from all
    # </Else>
    # 詳情參見: https://httpd.apache.org/docs/2.4/expr.html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

將上面的ServerName和Redirect permanent改成自己的域名即可

4.HTTPS訪問控制

找到目錄/etc/apache2,開啟ports.conf檔案

原內容:

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

替換內容為

<IfModule ssl_module>
        Listen 443
        <VirtualHost _default_:443>
            # 此處為網站根目錄
            DocumentRoot
/var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine On # 證書檔案的路徑(需要自己申請,或找IT部門的同事要) SSLCertificateFile "./SSL_Cert/safe.example.com.cert" # key檔案的路徑(需要自己申請,或找IT部門的同事要) SSLCertificateKeyFile "./SSL_Cert/safe.example.com.key" </VirtualHost> </IfModule>

注:從騰訊雲伺服器上面免費申請的有三個檔案,需要三個檔案都加上


路徑的話按照自己的實際情況來。

此處再提一下怎樣去騰訊雲申請免費的證書

登入騰訊雲平臺,在騰訊雲的SSL證書管理服務模組,有一個申請證書,你選擇那個有效期為1年的免費證書就行。然後下載下來,壓縮包裡面有個4個資料夾,分別是apache,tomcat和nginx以及IIS伺服器軟體的,選擇對應的檔案就行。

5.啟用服務

$ apachectl configtest # 檢查apache配置是否正確
$ sudo service apache2 reload # 檢查配置正確後,重新載入配置
$ sudo a2enmod ssl # 啟用SSL服務
$ sudo service apache2 restart #重啟apache

禁用SSL服務是

$ sudo a2dismod ssl

6.完成

如果你配置正確,那麼訪問

以上資料感謝部落格主依斯特的部落格支援。