時間:2010-02-24 20:15:42 類別:技術 訪問:11,529 views RSS 2.0 評論
請參考 Nginx Wiki http://wiki.nginx.org/NginxHttpSslModule
生成證書
$ cd /usr/local/nginx/conf
$ openssl genrsa -des3 -out server.key 1024
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
編輯 nginx.conf
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;
}
OK, 完成了。但這樣證書是不被信任的,自己玩玩還行,要被信任請看下面。
以下內容轉載自
http://goo.gl/YOb5
http://goo.gl/Gftj
HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容 請看SSL。
它是一個URI scheme(抽象標識符體系),句法類同http:體系。用于安全的HTTP數據傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同 于HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣 泛用于萬維網上安全敏感的通訊,例如交易支付方面。
1、自行頒發不受瀏覽器信任的SSL證書:
HTTPS的SSL證書可以自行頒發,Linux下的頒發步驟如下:
openssl genrsa -des3 -out api.bz.key 1024
openssl req -new -key api.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key

nginx.conf 的SSL證書配置,使用 api.bz_nopass.key,在啟動Nginx是無需輸入SSL證書密碼,而使用 api.bz.key 則需要輸入密碼:
server {
server_name sms.api.bz;
listen 443;
index index.html index.htm index.php;
root /data0/htdocs/api.bz;
ssl on;
ssl_certificate api.bz.crt;
ssl_certificate_key api.bz_nopass.key;
......
}
自行頒發的SSL證書雖然能夠實現加密傳輸功能,但得不到瀏覽器的信任,會出現以下提示:

posted on 2012-11-29 14:44
hellxoul 閱讀(391)
評論(0) 編輯 收藏