如何在Ubuntu 14.04 上為Apache 2.4 安裝SSL支援
今天我會講述如何為你的個人網站或者部落格安裝SSL 證書,來保護你的訪問者和網站之間通訊的安全。
安全套接字層或稱SSL,是一種加密網站和瀏覽器之間連線的標準安全技術。這確保伺服器和瀏覽器之間傳輸的資料保持隱私和安全。它被成千上萬的人使用來保護他們與客戶的通訊。要啟用SSL連結,Web伺服器需要安裝SSL證書。
你可以建立你自己的SSL證書,但是這預設不會被瀏覽器所信任,要解決這個問題,你需要從受信任的證書機構(CA)處購買證書,我們會向你展示如何獲取證書並在apache中安裝。
生成一個證書籤名請求
證書機構(CA)會要求你在你的伺服器上生成一個證書籤名請求(CSR)。這是一個很簡單的過程,只需要一會兒就行,你需要在你的伺服器上執行下面的命令並輸入需要的資訊:
# openssl req -new -newkey rsa:2048 -nodes -keyout yourdomainname.key -out yourdomainname.csr
輸出看上去會像這樣:
這一步會生成兩個檔案:一個用於解密SSL證書的私鑰檔案,一個證書籤名請求(CSR)檔案(用於申請你的SSL證書)。
根據你申請的機構,你會需要上傳csr檔案或者在網站表格中粘帖該檔案內容。
在Apache中安裝實際的證書
生成步驟完成之後,你會收到新的數字證書。本篇教程中我們使用Comodo SSL,並在一個它發給我們的zip檔案中收到了證書。要在apache中使用它,你首先需要用下面的命令用收到的證書建立一個組合的證書:
# cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > bundle.crt
用下面的命令確保ssl模組已經載入進apache了:
# a2enmod ssl
如果你看到了“Module ssl already enabled”這樣的資訊就說明你成功了,如果你看到了“Enabling module ssl”,那麼你還需要用下面的命令重啟apache:
# service apache2 restart
最後像下面這樣修改你的虛擬主機檔案(通常在/etc/apache2/sites-enabled 下):
DocumentRoot /var/www/html/ ServerName linoxide.com SSLEngine on SSLCertificateFile /usr/local/ssl/crt/yourdomainname.crt SSLCertificateKeyFile /usr/local/ssl/yourdomainname.key SSLCACertificateFile /usr/local/ssl/bundle.crt
你現在應該可以用https://YOURDOMAIN/(注意使用‘https’而不是‘http’)來訪問你的網站了,並可以看到SSL的進度條了(通常在你瀏覽器中用一把鎖來表示)。
注意: 現在所有的內容連結都必須指向https,如果網站上的一些內容(像圖片或者css檔案等)仍舊指向http連結的話,你會在瀏覽器中得到一個警告,要修復這個問題,請確保每個連結都指向了https。
在你的網站上重定向HTTP請求到HTTPS中
如果你希望重定向常規的HTTP請求到HTTPS,新增下面的文字到你希望修改的虛擬主機,或者如果希望給伺服器上所有網站都新增的話就加入到apache.conf中:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
via: http://linoxide.com/ubuntu-how-to/install-ssl-apache-2-4-in-ubuntu/
作者:Adrian Dinu 譯者:geekpi 校對:wxy
相關文章
- 如何在Ubuntu Server 14.04 LTS(Trusty) 上安裝GhostUbuntuServerRust
- 在 Ubuntu 14.04 上安裝 Ubuntu Tweak 0.8.8Ubuntu
- 如何在Ubuntu 14.04上安裝輕量級Web伺服器CherokeeUbuntuWeb伺服器
- Ubuntu14.04上安裝pip的方法Ubuntu
- 如何在 Ubuntu 上安裝 MongoDBUbuntuMongoDB
- 如何在 Ubuntu 上安裝 OctoberCMSUbuntu
- Flask 安裝 Ubuntu 14.04FlaskUbuntu
- 在Apache上安裝MOD_SSL(轉)Apache
- 如何在 Ubuntu 上安裝 VirtualBoxUbuntu
- Apache伺服器上安裝SSL證書?Apache伺服器
- Ubuntu 14.04 下安裝 OpenCVUbuntuOpenCV
- Ubuntu14.04安裝JDKUbuntuJDK
- Ubuntu 14.04 LTS 安裝DockerUbuntuDocker
- Ubuntu 14.04 安裝 JDK 7.0UbuntuJDK
- ubuntu14.04上安裝Mysql 5.7方法UbuntuMySql
- 怎樣在Apache上安裝MOD_SSL (轉)Apache
- 如何在 Ubuntu 上安裝 Python 3.8UbuntuPython
- 如何在 Ubuntu 上安裝 FireFox 15UbuntuFirefox
- 如何在Ubuntu24.04上安裝ELKUbuntu
- Ubuntu14.04下安裝genymotionUbuntu
- Ubuntu 14.04下NFS安裝配置UbuntuNFS
- 如何在 Rocky Linux 上安裝 Apache Kafka?LinuxApacheKafka
- Ubuntu14.04下Dipy包安裝Ubuntu
- Ubuntu14.04安裝postgresql9.4UbuntuSQL
- ubuntu 14.04 安裝cuda 7.5/CUDA 8.0Ubuntu
- Ubuntu14.04 LTS下安裝jdkUbuntuJDK
- Ubuntu14.04安裝Pycharm4.5.3UbuntuPyCharm
- 如何在 Ubuntu 16.04,15.10,14.04 中安裝 GIMP 2.8.16Ubuntu
- 如何在Ubuntu 16.10上安裝ResourceSpace程式Ubuntu
- 如何在 Ubuntu 上安裝和使用 R 語言Ubuntu
- 如何在 Ubuntu 上安裝 EMQX MQTT 伺服器UbuntuMQQT伺服器
- 如何在 Ubuntu 22.04 上安裝 Python Pip?UbuntuPython
- 如何在Ubuntu/CentOS上安裝Linux核心4.0UbuntuCentOSLinux
- 如何在ubuntu[linux] 上用docker安裝SqlserverUbuntuLinuxDockerSQLServer
- centos7.2原始碼安裝Apache2.4CentOS原始碼Apache
- Ubuntu14.04 安裝搜狗輸入法Ubuntu
- 在 Ubuntu 14.04 下安裝 mysql 5.7.10UbuntuMySql
- Ubuntu14.04下MRtrix3安裝Ubuntu