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然后訪問你的域名就好了。
原文:https://www.cnblogs.com/jungeJAVA/p/11200631.html