安裝環境: Debian Etch
需要套件: apache2 openssl ssl-cert
需要套件: apache2 openssl ssl-cert
有的文章會叫你去安裝apache-ssl,不過這是1.3的套件,另外一些文章會叫你執行apache2-ssl-certificate,不過這個也已經不包在2.2裡了。
所以說本文的目的是留個紀錄,確保以後我還記得怎麼弄HTTPS。
所以說本文的目的是留個紀錄,確保以後我還記得怎麼弄HTTPS。
安裝需要的套件:
# apt-get install apache2 openssl ssl-cert
產生SSL根憑證:
接下來會有一段設定根憑證發行資訊的問題,適當的填一下就好了。
# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem這會產生有效期限一年的RSA key,路徑可以自己決定。
接下來會有一段設定根憑證發行資訊的問題,適當的填一下就好了。
----------- Country Name (2 letter code) [AU]:GB State or Province Name (full name) [Some-State]: Locality Name (eg, city) []:London Organization Name (eg, company) [Internet Widgits Pty Ltd]:Debian Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []: Email Address []: -----------這樣產生出來的根憑證會有警告,因為發行的組織[?]並沒有被公共認可。不過取得認可是要錢的....自己看著辦吧。
為了安全起見,請設定一下private key的權限:
# chmod 600 /etc/apache2/apache.pem
通常apache2已經有編好SSL模組了。所以只要把可用模組link到已用模組就好。
# cd /etc/apache2/mods-enabled/ # ln -s ../mods-available/ssl.* .
因為預設只監聽port 80,你還要讓它監聽port 443,所以更改/etc/apache2/ports.conf,加入:
直接把原本的設定複製一份出來,然後分別改成:
LISTEN 443然後到/etc/apache2/sites-available/,修改VirtualHost的設定。我假設你沒有做太複雜的VirtualHost。
直接把原本的設定複製一份出來,然後分別改成:
NameVirtualHost *:80 NameVirtualHost *:443之後在NameVirtualHost *:443的區段裡加入這兩行:
SSLEngine on SSLCertificateFile /etc/apache2/apache.pem
然後重新啟動Apache2就好了。記得自己打開443的防火牆。
沒有留言:
張貼留言