ubuntu 14.04 下 apache2.4 配置SSL

因業務需求,須要給域名配置SSL加密,從IT部門獲取.cert和.key文件後,就開始配置了.

1. 查找apache的ssl模塊

ubuntu下,apache的默認模塊目錄是 /usr/lib/apache2/modules/html

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

確認有"mod_ssl.so"模塊後,咱們到apache的配置目錄,默認是 /etc/apache2apache

$ cd /etc/apache2
$ ls

找到 apache2.confubuntu

2. 增長mod_ssl.so依賴

$ vim apache2.conf

在最後一行加上vim

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

保存,退出網站

3. HTTP的訪問配置

打開 sites-enabled/000-default.conf加密

$ vim sites-enabled/000-default.conf

修改內容以下:rest

<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>

4. HTTPS的訪問配置

打開 ports.confcode

$ vim ports.conf

原內容:htm

Listen 80

<IfModule ssl_module>
        Listen 443
</IfModule>

修改內容以下:blog

<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>

5.啓用服務

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

禁用SSL服務是

$ sudo a2dismod ssl

6. 完成

若是配置正確,那麼訪問:

  1. http://safe.example.com
  2. https://safe.example.com
  3. safe.example.com

都會重定向到 https://safe.example.com

7. 參考資料

  1. Expressions in Apache HTTP Server - Apache HTTP Server Version 2.4
  2. Access Control - Apache HTTP Server Version 2.4
  3. Apache禁止IP直接訪問,只容許域名訪問
  4. Apache配置HTTPS訪問
相關文章
相關標籤/搜索