阿里雲免費申請SSL證書實現網站HTTPS化
1、登錄阿里雲賬戶,在首頁搜索框中模糊搜索SSL,選擇SSL證書
2、點擊購買證書選項
3、點擊免費型DV_SSL,購買
4、支付完成後申請證書
5、填寫證書申請信息
6、下載nginx形式的證書
nginx中進行配置
1、下載並安裝nginx
2、nginx安裝目錄下新建cert文件夾,將下載的證書,一共兩個文件放入該文件夾
3、進入nginx/conf文件夾中,vim nginx.conf,添加以下配置
server {
listen 443;
server_name 域名;
ssl on;
root html;
index index.html index.htm;
ssl_certificate ../cert/a.pem;
ssl_certificate_key ../cert/a.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
#服務器程序地址
proxy_pass http://127.0.0.1:8080;
}
#配置靜態資源地址
location /data {
alias /data;
}
#禁止在瀏覽器中切換目錄,autoindex on表示允許
autoindex off;
error_page 404 /404.html;
}
#80端口跳轉到上面的443端口
server{
listen 80;
server_name 域名;
rewrite ^/(.*)$ https://域名:443/$1 permanent;
}
4、進入nginx/sbin,./nginx –s reload ,重啓nginx
5、報錯nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/nginx.conf
原因:因爲配置這個SSL證書需要引用到nginx的中SSL這模塊,然而我們一開始編譯的Nginx的時候並沒有把SSL模塊一起編譯進去,所以導致這個錯誤的出現。
解決方案:
(1)./configure --with-http_ssl_module
//重新添加這個ssl模塊
(2)執行make
命令,但是不要執行make install,因爲make是用來編譯的,而make install是安裝,然整個nginx會重新覆蓋的。
(3)在我們執行完做命令後,我們可以查看到在nginx解壓目錄下,objs文件夾中多了一個nginx的文件,這個就是新版本的程序了。首先我們把之前的nginx先備份一下,然後把新的程序複製過去覆蓋之前的即可。(先停止nginx程序)
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
(4)最後我們來到Nginx安裝目錄下,來查看是否有安裝ssl模塊成功。執行./sbin/nginx -V
即可看到
6.最後執行步驟4,重啓nginx
CSDN:https://blog.csdn.net/qq_27682773
簡書:https://www.jianshu.com/u/e99381e6886e
博客園:https://www.cnblogs.com/lixianguo
個人博客:https://www.lxgblog.com