Apache配置https


Apache配置https

之前一直用的是Tomcat,今天突然接到任務要給Apache配置https證書,因為小程序要用。下面把過程列出來以備后續查看。

1.首先你得有ssl證書,沒有的可以去購買,買完之后下載證書,建議選擇適配Apache的文件下載。我的下載下來的文件是一個壓縮文件,解壓后截圖如下:

 這三個文件分別是:

  一個以.key結尾的文件(秘鑰文件)

  兩個以.crt結尾的文件(xxxxx_chain.crt是證書鏈文件,xxxxx_public.crt是證書文件)

2.在Apache的目錄下新建一個文件夾,名稱隨意。然后將這三個文件放到這個文件夾里面。我這邊的文件夾名字是cert。

3.在Apache安裝目錄下,打開Apache/conf/httpd.conf,在httpd.conf文件中找到以下參數並進行配置。

#LoadModule ssl_module modules/mod_ssl.so  #刪除行首的配置語句注釋符號“#”加載mod_ssl.so模塊啟用SSL服務,Apache默認是不啟用該模塊的。如果找不到該配置,請重新編譯mod_ssl模塊。
#Include conf/extra/httpd-ssl.conf  #刪除行首的配置語句注釋符號“#”。

如果找不到上面的參數請在文章后面看解決辦法。

4.保存httpd.conf文件並退出。

5.打開Apache/conf/extra/httpd-ssl.conf,在httpd-ssl.conf文件中找到以下參數並進行配置。 證書路徑建議使用絕對路徑。

SSLProtocol all -SSLv2 -SSLv3  # 添加SSL協議支持協議,去掉不安全的協議。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM   # 使用此加密套件。
SSLHonorCipherOrder on
SSLCertificateFile cert/domain name_public.crt   # 將domain name_public.crt替換成您證書文件名。
SSLCertificateKeyFile cert/domain name.key   # 將domain name.key替換成您證書的秘鑰文件名。
SSLCertificateChainFile cert/domain name_chain.crt  # 將domain name_chain.crt替換成您證書的秘鑰文件名;證書鏈開頭如果有#字符,請刪除。

6.保存 httpd-ssl.conf 文件配置並退出。

7.重啟Apache服務器使SSL配置生效。

------------------------------------------------------

這里說一下上面第3步找不到那些參數的解決辦法:

1.找不到那些參數,可能是Apache沒有安裝mod_ssl.so模塊,我這里用yum方式安裝。在任意路徑下執行下面的命令:

yum -y install mod_ssl

2.命令執行結束安裝完成后 /etc/httpd/conf.d 目錄下會出現一個ssl.conf文件

3.在這個文件里面找到如下內容進行更改

SSLCertificateFile xxx_public.crt

SSLCertificateKeyFile xxx.key

SSLCertificateChainFile xxx_chain.crt

4.找到上面的三個內容並將后面的文件路徑替換為你自己的文件路徑,(這些文件就是你之前放在Apache/cert路徑下的三個證書文件且路徑是絕對路徑)

5.然后繼續在此文件中配置找到以下內容配置443站點信息(這里只說明內容,按照內容直接改就可以)

DocumentRoot "/home/test/file/" #(引號里面是你的項目的路徑) ServerName xxxxx (這里的xxxxx是你的域名) <Directory "/home/test/file/"> #(引號里面是你的項目的路徑,其他的直接復制過去即可) Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory>

 

6.然后這個文件就編輯完了。

7.在找到Apache/conf/httpd.conf文件並打開。

8.找到#LoadModule ssl_module modules/mod_ssl.so 並將前面的#號去掉。

9.在此文件的最后引入之前配置好的文件。例如:

#引入外部的ssl配置文件
Include /etc/httpd/conf.d/ssl.conf

10.至此,配置完成,重啟Apache然后訪問你的域名就好了。如果有不合適的地方還請各位大佬說出來。

----------------------------- end -----------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM