apache下開啟ssl訪問,即https
openssl Windows下已編譯好的命令列程式:
http://downloads.sourceforge.net/gnuwin32/openssl-0.9.8h-1-bin.zip
lamp開啟ssl
首先需要安裝openssl和apache的ssl模組,執行:
yum install openssl mod_ssl -y
即可,接下來的配置方法和以下內容類似
wamp開啟SSL
1.#修改httpd.conf檔案
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
#去掉上面兩行前的"#"
2.#修改conf/extra/httpd-ssl.conf
SSLCertificateFile "D:/wamp/Apache2/bin/server.crt"
SSLCertificateKeyFile "D:/wamp/Apache2/bin/server.key"
3.#修改為你生成證書的檔案位置
DocumentRoot "E:/www" #修改 DocumentRoot的值與httpd.conf檔案的DocumentRoot保持一致.
4.#解決APACHE無法啟動
設定配置檔案(httpd-ssl.conf conf/extra目錄中)
SSLMutex "file:D:/ProgramFiles2003/wamp/wamp/Apache2/logs/ssl_mutex"
修改為68: SSLMutex default5.#把httpd-ssl.conf檔案中所有的apache的路徑替換為你的APACHE的路徑
#到此配置檔案修改完畢
二,證書生成的方法
windows的——
openssl req -config ../conf/openssl.cnf -new -out server.csr -keyout server.pem
其中openssl.cnf為apache自帶的openssl配置檔案,引用到該檔案的完整路徑
輸入兩次密碼,隨便什麼密碼,然後一直回車,跳過下面的輸入
openssl rsa -in server.pem -out server.key
輸入剛才制定的密碼
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
#生成證書檔案
把 server.key,server.crt copy到conf資料夾下
linux的——
生成伺服器私鑰:
#openssl genrsa -des3 -out server.key 1024
生成伺服器證書請求,並按要求填些相關證書資訊:
#openssl req -new -key server.key -out server.csr
簽證:
# openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.cert
Signature ok
重新啟動APACHE
OK,恭喜你可以正常使用HTTPS來訪問你的根目錄了。
當然我們還需要ssl的虛擬主機
那就要配置虛擬主機檔案,在檔案中專門寫一個監聽443埠的虛擬主機,例如:
<VirtualHost woosau:443>
DocumentRoot /home/ownfire/www/woosau
ServerName woosau
SSLEngine on
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
</VirtualHost>
因為規定主機名是woosau,所以還要寫一個虛擬主機名規則
NameVirtualHost woosau:443
好了,完畢,這樣就可以訪問https://woosau了