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