apache服务器配置tls_Apache服务器配置https
https://startssl.com這個(gè)網(wǎng)站可以給我們免費(fèi)提供可信任的https證書,這里簡單介紹一下配置的過程。
首先服務(wù)器需要安裝openssl和apache的mod_ssl.so模塊,并且需要在httpd.conf中開啟這個(gè)模塊。
完成上述操作之后就可以使用openssl生成你自己的證書了。
這里有些知識你需要了解一下。
https的整個(gè)服務(wù)中,你需要了解這些文件的作用:
server.key 服務(wù)器的私鑰
server.crt 服務(wù)器的證書文件
server.csr 服務(wù)器證書請求文件
root.crt 根證書
這些文件是這樣生成的
首先運(yùn)行
openssl req -new -nodes -keyout chorder.net.key -out chorder.net.csr
生成服務(wù)器證書和服務(wù)器證書請求文件,過程中會要求輸入很多有關(guān)證書的信息和密碼。
這一步完成之后會生成兩個(gè)文件,chorder.net.key和chorder.net.csr
這時(shí)候去startssl網(wǎng)站上注冊帳號,然后提交自己生成的.csr文件,讓startssl為你生成一個(gè)
服務(wù)器證書和根證書。
把兩個(gè).crt結(jié)尾的證書拷貝到服務(wù)器的/etc/pki/tls/certs/下,把.key和.csr文件拷貝到/etc/pki/tls/private/下。(只針對CentOS服務(wù)器,其他服務(wù)器請自行百度)。
另外還需要將/etc/pki/tls/下的cert.pem(如果沒有則創(chuàng)建一個(gè))鏈接指向到/etc/pki/tls/certs/root.crt
這樣用火狐瀏覽器訪問的時(shí)候才不會報(bào) SEC_ERROR_UNKNOWN_ISSUER 這個(gè)錯(cuò)誤。
這個(gè)cert.pem就是證書鏈,只有當(dāng)你的服務(wù)器證書包含在startssl網(wǎng)站的證書鏈中,客戶端才會認(rèn)為你的證書是可信的。
最后,修改兩個(gè)文件。
一是/etc/httpd/conf.d/ssl.conf,修改如下內(nèi)容
指定服務(wù)器證書
SSLCertificateFile /etc/pki/tls/certs/chorder.net.crt
指定服務(wù)器私鑰
SSLCertificateKeyFile /etc/pki/tls/private/chorder.net.key
指定服務(wù)器證書鏈(來自start com)
SSLCertificateChainFile /etc/pki/tls/certs/root-bundle.crt
然后是修改/etc/httpd/conf/httpd.conf文件,為你的主機(jī)(我這里是虛擬主機(jī))創(chuàng)建配置
我的配置如下
NameVirtualHost *:443
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/chorder.net.crt
SSLCertificateKeyFile /etc/pki/tls/private/chorder.net.key
SSLCertificateChainFile /etc/pki/tls/cert.pem
ServerName chorder.net
ServerAdmin ×××××
DocumentRoot ×××××
ErrorLog ×××××
CustomLog ×××××
其實(shí)就是http配置文件下多加了幾行。
配置好這些以后,重啟服務(wù),完成。
另外,如果你希望訪問你的域名直接跳轉(zhuǎn)到https端口,可以寫一段js來跳轉(zhuǎn),如果覺得
寫代碼太麻煩,可以在根目錄的.htaccess文件中加入這兩行來幫你自動跳轉(zhuǎn):
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
即,將默認(rèn)端口指定為443,并且將所有http的請求重寫為https.
總結(jié)
以上是生活随笔為你收集整理的apache服务器配置tls_Apache服务器配置https的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑怎么强制删除文件
- 下一篇: assert文件夹 设置android_