apache2.2中配置ssl
一.首先要安裝好openssl
下載openssl:
wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
./configure --prefix=/usr/local/openssl
make
sudo make install
也可以直接用apt安裝:
sudo apt-get install openssl libssl-dev
注意一定要安裝openssl的開發(fā)庫,否則編譯apache的時候會報錯誤,不能編譯ssl的.
二.編譯安裝apache
這里不多說了,主要是configure的時候加上ssl的選項
三.創(chuàng)建ssl所需要的證書
(這里所有的文件都是創(chuàng)建在/etc/httpd目錄中)
1.創(chuàng)建key文件:
sudo openssl genrsa -des3 -out server.key 1024
執(zhí)行完后應該在當前目錄中有一個server.key文件
2.查看創(chuàng)建的key文件:(不是必須)
openssl rsa -noout -text -in server.key
3.創(chuàng)建pem文件:(不是必須)
sudo openssl rsa -in server.key -out server.key.unsecure
4.創(chuàng)建scr文件:
sudo openssl req -new -key server.key -out server.csr
執(zhí)行完后應該在當前目錄中有一個server.csr文件
5.創(chuàng)建crt文件:
sudo openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
執(zhí)行完后應該在當前目錄中有一個server.crt文件
四.修改apache的ssl配置文件
1.修改httpd.conf
在文件中找到下面一行,把注釋去掉
#Include conf/extra/httpd-ssl.conf
2.修改httpd-ssl.conf
在extra目錄中,修改ssl的配置文件
找到SSLCertificateFile和SSLCertificateKeyFile的配置,修改文件路徑到上面創(chuàng)建的目錄
五.啟動apache
sudo /usr/local/apache/bin/apachectl start
這時應該要求你回答證書密鑰,回答后即可啟動
打開瀏覽器測試下吧!這時候應該能以https訪問你的站點了.
但這時,是所有的用戶都可以訪問你的https站點的,如果你希望只有認證的用戶才能訪問的話,請繼續(xù)下面的配置!
六.創(chuàng)建認證客戶所需要的證書
1.創(chuàng)建用戶的key文件:
sudo openssl genrsa -des3 -out client.key 1024
2.創(chuàng)建用戶的crt證書文件:
sudo openssl req -new -x509 -days 3650 -key client.key -out client.crt
修改SSLCACertificateFile的文件路徑
3.創(chuàng)建訪問用戶的csr文件:
sudo openssl req -new -out pony.csr
4.創(chuàng)建訪問用戶的crt證書文件:
sudo openssl x509 -req -in pony.csr -out pony.crt -signkey client.key -CA client.crt -CAkey client.key -CAcreateserial -days 3650
5.導出為pfx證書:(ie中只能導入pfx證書)
sudo openssl pkcs12 -export -in pony.crt -inkey client.key -out pony.pfx
在你的測試機的ie中導入這個pfx證書
6.修改ssl配置文件:
在httpd-ssl.conf文件中找到SSLCACertificateFile的配置,然后修改文件路徑為client.crt
把以下兩行注釋去掉:
SSLVerifyClient require
SSLVerifyDepth 10
重新啟動apache,再次訪問apache的時候,ie就會彈出窗口選擇證書了.
that's all
(本文參考了CU的文章:http://www.chinaunix.net/jh/13/469276.html,非常感謝作者!)
posted on 2008-04-25 14:39 pony 閱讀(3032) 評論(1) 編輯 收藏 所屬分類: linux