ubuntu 14.04伺服器環境下apache2.4配置SSL
阿新 • • 發佈:2019-01-06
最近因為開發微信小程式,需要在服務端搭建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.完成
如果你配置正確,那麼訪問
以上資料感謝部落格主依斯特的部落格支援。