因業務需求,須要給域名配置SSL加密,從IT部門獲取.cert和.key文件後,就開始配置了.
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
$ vim apache2.conf
在最後一行加上vim
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
保存,退出網站
打開 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>
打開 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>
$ apachectl configtest # 檢查apache配置是否正確 $ sudo service apache2 reload # 檢查配置正確後,從新加載配置 $ sudo a2enmod ssl # 啓用SSL服務 $ sudo service apache2 restart #重啓apache
禁用SSL服務是
$ sudo a2dismod ssl
若是配置正確,那麼訪問:
都會重定向到 https://safe.example.com