參考文件:RHEL5 Deployment Guide
date: 2007/11/12
套件需求:
http:apache web server
mod_ssl:apache mod_ssl模組
openssl:用來實踐SSL及TLS協定
crypto-utils:提供一系列套件產生、管理憑證
使用現有的憑證與金鑰
例外情況:
IP或Domain name有更改的狀況下不得使用先前建立的憑證和金鑰,若有這種狀況必需要重新建立憑證。
若你有購買VeriSign的憑證並且準備更換軟體,由於VeriSign所發行的憑證是給特定用途的軟體、IP或domain name,所以不得延續使用現有的憑證。
產生憑證及金鑰
1.移除在安裝時建立的測試憑證及金鑰
Shell> cd /etc/httpd/conf Shell> rm ssl.key/server.key Shell> rm ssl.crt/server.crt
2.使用 crypto-utils 所含的 genkey 指令來產生金鑰,假設要建立www.example.com 的金鑰,使用如下指令
Shell> genkey --days 3650 www.mycompany.com
#注意RHEL5不再使用make的方式產生金鑰,改由genkey代替。
# –days 代表憑證有效時間,單位為天,若不指定預設為30天
3. genkey www.example.com 後的畫面
RHEL4版預設將金鑰及憑證存放於/usr/share/ssl/private和/usr/share/ssl/certs
4.選擇鑰產生的金鑰的位元,位元愈小Server回應的速度愈快,但比較不安全。請依照自己的需求進行選擇。
5. 按下『下一步』後,系統會依照你所選擇的位元亂數產生金鑰,這將會需要一些時間。
6.產生完key後,會詢問你是否要向憑證單位申請憑證,我這裡選否,由自己發佈憑證。
7.填寫憑證內容
Country Name (ISO 2 letter code):TW
#填寫國家代碼,台灣為TW
State or Province Name (full name):
#填寫州、省,台灣沒有州、省,所以略過
Locality Nmae (e.g. city):Taipei
#填寫城市名如Taipei
Organization Name (eg, company):MyCompany
#填寫公司或組織名稱如MyCompany
Organizational Unit Name (eg, section):IT
#填寫公司或組織單位如IT
common Name (FQDN):www.mycompany.com
#填寫網站 hostname如:www.mycompany.com
其餘可以略過不填寫
8. 接下來會問你要不要使用一組密碼來保護你的私鑰,但是這樣每次重新啟動apache
都會詢問你一次,但有的話會比較安全。依照你自己的需求選擇,我選擇NO。(我有個同事在客戶的機器上設定密碼,結果他離職後也沒有交接,搞得我自己也很難過)
9. 一切大功告成,依照你的 RHEL 版本會放在/usr/share/ssl/private|certs(RHEL4),/etc/pki/tls/private|certs(RHEL5)下
10.修改 /etc/httpd/conf.d/ssl.conf 裡的 SSLCertificateFile 和 SSLCertificateKeyFile 參數,指到存放憑證及金鑰的路徑。
Shell> vi /etc/httpd/conf.d/ssl.conf SSLCertificateFile /usr/share/ssl/certs/www.example.com.crt SSLCertificateKeyFile /usr/share/ssl/private/www.example.com.key 新增virtualhost <VirtualHost *:443> DocumentRoot /var/lib/www ServerName www.example.com </VirtualHost>
11.重新啟動apache
Shell> /sbin/service httpd restart
Troboshooting
Q1:
連結 https://hostname 都會出現錯誤,apache 的 error log 出現 Invalid method in request x16x03x01。
A1:
將所有的 <VirtualHost 0.0.0.0> 改成 <VirtualHost *:80>試試看,若有NameVirtualHost 0.0.0.0 也改成 NameVirtualHost *:80
即可解決上述問題。
參考:
http://www.mail-archive.com/modssl-users@modssl.org/msg17516.html
轉貼至http://beakdoosan.blogspot.tw/