1.去騰訊雲申請證書
https://console.cloud.tencent.com/ssl f
需要提供域名 ,該域名要提前綁定好你的IP外網地址,手動dns 驗證 txt文件
下載好的證書會包含兩個文件crt和key,需要配置到nginx中
2.nginx配置
已經提前安裝好nginx了,安裝步驟可以參考我的博客https://blog.csdn.net/qq_25911515/article/details/84259361
重新修改配置
server {
listen 443 ssl;
server_name url;
ssl_certificate /usr/local/nginx/ssl/1_sstest.wiwacam.com_bundle.crt;
ssl_certificate_key /usr/local/nginx/ssl/2_sstest.wiwacam.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:16888;
}
}
server {
listen 80;
server_name url;
rewrite ^ https://$server_name$request_uri? permanent;
#location / {
# proxy_pass http://localhost:16888;
# }
#charset koi8-r;
#access_log logs/host.access.log main;
}
server_name url; //域名地址
ssl_certificate :crt ,
ssl_certificate_key :key
location / {} 重定向到一個地址 16888,這個是內網地址;外網地址是443 ,是入棧口
3.注意
步驟一:我們先來到當初下載nginx的包壓縮的解壓目錄,如果你是看小編寫的教程安裝的,解壓目錄應該在“/usr/loacl/src/”,絕大多數應該都是在這個目錄下的,已經是一種規範了。
重啓報錯:缺少http_ssl_module模塊
這是由於在最開始編譯nginx時,沒有加入http_ssl_module模塊的原因導致的。
解決方案:重新編譯一次nginx,並把http_ssl_module模塊加上去。
-
- 如果出現這個問題,一般情況下也可能沒有安裝openssl和openssl-devel模塊。請安裝這兩個模塊:
yum install openssl
yum install openssl-devel
- 如果出現這個問題,一般情況下也可能沒有安裝openssl和openssl-devel模塊。請安裝這兩個模塊:
步驟二:來到解壓目錄下後,按順序執行一下命令: 命令1、./configure --with-http_ssl_module //重新添加這個ssl模塊 注意如果沒有出現錯誤,則直接看命令2即可 執行以上一條命令出現這個錯誤(./configure:錯誤:SSL模塊需要OpenSSL庫。),原因是因爲缺少了OpenSSL,那我們再來安裝一個即可執行:yum -y install openssl openssl-devel 等待OpenSSL的安裝完成後,再執行./configure ,最後在執行” 命令1" 即可。 命令2、執行make命令,但是不要執行make install,因爲make是用來編譯的,而make install是安裝,不然你整個nginx會重新覆蓋的。#make CFLAGS='-Wno-implicit-fallthrough' 命令3、在我們執行完做命令後,我們可以查看到在nginx解壓目錄下,objs文件夾中多了一個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即可看