1.首先申請證書
在雲產品里搜索SSL證書,點擊進入,這里可以購買證書,或者有一個免費一年的,填好信息后等待審核。
2.審核通過后,可以在之前頁面下載
下載好后,文件夾里面包含各種服務器的文件,這里我采用Nginx部署
3.配置nginx.conf文件
Nginx目錄下有三個文件,分別是xxx.crt / xxx.key / nginx.conf 文件
這里打開nginx.conf 文件,直接修改HTTPS server部分
server {
listen 80;
server_name www.xxx.cn;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name www.xxx.cn;
ssl_certificate ./cert/1_www.xxx.cn_bundle.crt;
ssl_certificate_key ./cert/2_www.xxx.cn.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#nginx默認文件夾
root /usr/share/nginx/www/public;
#主頁文件
index index.html;
}
}
把域名填成自己的,注意.crt 和 .key的路徑要正確,修改好后通過 FileZilla 等文件傳輸工具上傳覆蓋掉 Nginx 安裝目錄下 conf 目錄中的 nginx.conf 文件,同時將.crt 和 .key 文件上傳到同級目錄下的cert文件夾中
4.重啟Nginx
nginx -s reload
可能遇到的問題:
報ssl模塊問題:
nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/nginx.conf:122
解決方法:
nginx缺少http_ssl_module模塊,編譯安裝的時候帶上--with-http_ssl_module配置就行了:
1.切換到nginx的源碼包,重新編譯(注意路徑):
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
2.編譯好后運行make,使用nginx -s stop 停止nginx
3.將剛剛編譯好的nginx覆蓋掉原有的nginx
cp ./objs/nginx /usr/local/nginx/sbin/
4.使用nginx命令啟動nginx
5.使用nginx -V 命令可以查看編譯信息