1. 去阿里云或者騰訊云申請免費的ssl證書,這里以阿里云為例。成功以后獲得兩個文件以.key和.pem結(jié)尾的文件
2.進入nginx的目錄新建目錄cert里面放入剛剛申請的兩個文件
3.配置nginx的配置文件,在conf/nginx.conf?
????說明:下面的配置是對443端口和80端口進行監(jiān)聽,443端口要啟用ssl。監(jiān)聽443端口的server配置可以仿照上面ca認證頁面的nginx配置示例 ? ? ? ?進行配置。
server {
? ? listen 443;
? ? server_name www.baidu.com baidu.com; // 你的域名
? ? ssl on;
? ? root /usr/local/website/dist; // 前臺文件存放文件夾,可改成別的
? ? index index.html index.htm;// 上面配置的文件夾里面的index.html
? ? ssl_certificate? cert/214292799730473.pem;// 改成你的證書的名字
? ? ssl_certificate_key cert/214292799730473.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;
? ? }
}
server {
? ? listen 80;
? ? server_name www.baidu.com baidu.com;// 你的域名
? ? rewrite ^(.*)$ https://$host$1 permanent;// 把http的域名請求轉(zhuǎn)成https
}
配置結(jié)束后進入sbin目錄下 執(zhí)行./nginx -t 如果出現(xiàn)下面
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
證明配置成功,然后執(zhí)行./nginx -s reload
PS.執(zhí)行./nginx -s reload可能出現(xiàn)nginx:[emerg]unknown directive ssl,
因為我們配置這個SSL證書需要引用到nginx的中SSL這模塊,然而我們一開始編譯的Nginx的時候并沒有把SSL模塊一起編譯進去,所以導(dǎo)致這個錯誤的出現(xiàn)
A.找到nginx的包壓縮的解壓目錄,一般在/usr/loacl/src/下,如果找不到可以全局搜索 find / -name?configure,找到帶nginx的目錄就是了
B.執(zhí)行./configure --with-http_ssl_module??//重新添加這個ssl模塊,如果出現(xiàn)錯誤執(zhí)行yum -y install openssl openssl-devel,然后在執(zhí)行上一步命令
C.執(zhí)行make命令,但是不要執(zhí)行make install,因為make是用來編譯的,而make install是安裝,不然你整個nginx會重新覆蓋的
D.在我們執(zhí)行完做命令后,我們可以查看到在nginx解壓目錄下,objs文件夾中多了一個nginx的文件,這個就是新版本的程序了。首先我們把之前 ? ? ? ?的nginx先備份一下,然后把新的程序復(fù)制過去覆蓋之前的即可。
? ? ? ? ? ? ? ?cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
? ? ? ? ? ? ? ?cp objs/nginx /usr/local/nginx/sbin/nginx
E.進入nginx的sbin下執(zhí)行./nginx -s reload 如果不報錯https就配置成功了。