apache下開啟ssl訪問,即https

無效的名字發表於2012-06-23

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  default   
5.#把httpd-ssl.conf檔案中所有的apache的路徑替換為你的APACHE的路徑

#到此配置檔案修改完畢

二,證書生成的方法

windows的——

#命令列中進入apache/bin目錄下執行如下:

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了

相關文章