1. 背景
谷歌從 2017 年起,Chrome 瀏覽器將也會把采用 HTTP 協議的網站標記為「不安全」網站;蘋果從 2017 年 iOS App 將強制使用 HTTPS;在國內熱火朝天的小程序也要求必須使用 HTTPS 請求。
2. SSL證書類型
通常來說,SSL 證書分為三大類,他們的安全性是遞增的,當然價格和安全系數成正比。
DV (Domain Validation Certificate) DV 證書適合個人網站使用,申請證書時,CA 只驗證域名信息。幾分鐘之內就能簽發。
OV ( Organization Validation Certificate) OV 證書需要認證公司的信息。1-2天簽發。
EV ( Extended Validation Certificate) EV 證書的認證最為嚴格,一般會要求提供紙質材料。簽發時間也較久。
這里推薦去[七牛]申請免費SSL證書
這里是七牛證書申請地址
這里是七牛證書申請幫助
完成后將證書上傳到服務器/var/cert/
目錄下(如果文件、目錄不存在要自行創建):
$ ls /var/cert
yunfeng365.com.crt
yunfeng365.com.key
接下來,進行Nginx 配置!
在nginx配置文件目錄中(/etc/nginx/sites-available
)新增文件:
yunfeng365.com
https.yunfeng365.com
yunfeng365.com
配置80端口301跳轉
server {
listen 80 default_server;
# Make site accessible from http://localhost/
server_name yunfeng365.com;
server_name www.yunfeng365.com;
return 301 https://www.yunfeng365.com$request_uri;
}
https.yunfeng365.com
配置ssl
server {
listen 443 ssl;
root /var/www/blog/public;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name yunfeng365.com;
server_name www.yunfeng365.com;
# ssh配置
ssl on;
ssl_certificate /var/cert/yunfeng365.crt;
ssl_dhparam /var/cert/yunfeng365.pem;
ssl_certificate_key /var/cert/yunfeng365.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# php配置
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
配置完成后,執行以下命令創建軟鏈接使配置加載:
cd /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/https.yunfeng365.com
ln -s /etc/nginx/sites-available/yunfeng365.com
如遇權限問題請使用sudo
!
重啟Nginx使配置生效!
service nginx restart