默認(rèn)情況下ssl模塊并未被安裝,如果要使用該模塊則需要在編譯時(shí)指定–with-http_ssl_module參數(shù),安裝模塊依賴于OpenSSL庫和一些引用文件,通常這些文件并不在同一個(gè)軟件包中。通常這個(gè)文件名類似libssl-dev。
生成證書
可以通過以下步驟生成一個(gè)簡單的證書: 首先,進(jìn)入你想創(chuàng)建證書和私鑰的目錄,例如:
- $ cd /usr/local/nginx/conf
創(chuàng)建服務(wù)器私鑰,命令會(huì)讓你輸入一個(gè)口令:
- $ openssl genrsa -des3 -out server.key 1024
創(chuàng)建簽名請求的證書(CSR):
- $ openssl req -new -key server.key -out server.csr
在加載SSL支持的Nginx并使用上述私鑰時(shí)除去必須的口令:
- $ cp server.key server.key.org
- $ openssl rsa -in server.key.org -out server.key
配置nginx
最后標(biāo)記證書使用上述私鑰和CSR:
- $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
修改Nginx配置文件,讓其包含新標(biāo)記的證書和私鑰:
- server {
- server_name YOUR_DOMAINNAME_HERE;
- listen 443;
- ssl on;
- ssl_certificate /usr/local/nginx/conf/server.crt;
- ssl_certificate_key /usr/local/nginx/conf/server.key;
- }
重啟nginx。 這樣就可以通過以下方式訪問:
https://YOUR_DOMAINNAME_HERE
另外還可以加入如下代碼實(shí)現(xiàn)80端口重定向到443IT人樂園
- server {
- listen 80;
- server_name ww.;
- rewrite ^(.*) https://$server_name$1 permanent;
- }
轉(zhuǎn)載請注明文章來源:http://www./2011/12/nginx-ssl-https-support/ E-mail: huahuiyang@gmail.com
https://cn.linkedin.com/pub/huahui-yang/91/13a/105
|