HTTPS 是一種加密的HTTP協議,現在主要應用於銀行,金融,以及支付平臺等領域。
除了向國際上一些知名的證書辦法機構,如VeriSign。GlobalSign,GeoTrust申請數字證書之外(國內頒發證書的CA機構主要是CNNIC),我們自己也可以利用Linux系統相關命令自己生成數字證書,區別在於這一些證書,是不受瀏覽器支持的,需要自己動手選擇信任才能繼續訪問:
首先創建一個私鑰文件:
openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl rsa -in server.key -out server_nopass.key
結合密鑰和證書生成請求,創建一個自簽署的CA證書
openssl req -new -x509 -days 3650 -key server_nopass.key -out server.crt
至此,通過自身生成的server_nopass.key 和 server.crt 即可以結合nginx的相關配置,搭建一個自認證的HTTPS系統
這裏是一個Nginx的配置示例:
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server_nopass.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}