一、SSL证书
申请免费证书或者购买
我是通过阿里云申请的免费证书
https://yundun.console.aliyun.com/?spm=5176.12818093.ProductAndService–ali–widget-home-product-recent.dre0.7da816d0XCzyFq&p=cas#/certExtend
1、证书下载
在已获得证书栏中点击下载,并用FTP将得到的两个文件传送到/usr/local/nginx/conf/cert中
2、配置Nginx
其余安装步骤请参考阿里云官方帮助文档,下面只对遇到的错误进行解决
常见错误
错误一:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.con
解决方案:
nginx缺少http_ssl_module模块,编译安装的时候带上–with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看: 做个说明:我的nginx的安装目录是/usr/local/nginx这个目录,我的源码包在/usr/local/src/nginx-1.3.6目录
(1)切换到源码包:
cd /root/nginx-1.13.6
(2)配置信息:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_m
(3)配置完成后,运行make进行编译,千万不要进行make install,否则就是覆盖安装。
make
(4)然后备份原有已经安装好的nginx(可有可无)
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
(5)重启Nginx
/usr/local/nginx/sbin/nginx -s reload
错误二:
Stoping nginx... nginx: [emerg] BIO_new_file("/usr/local/nginx/conf/cert/214291778530222.pem") f
解决方案:
这可能是证书路径存放的位置不正确导致的,而且只要写绝对路径,就会报错,无论windows还是linux。
将证书文件放到nginx.conf所在的目录下即可。
错误三:配置好后https仍然无法访问
情况1:端口443未开放
点击安全组进入端口管理
如果没有443,手动添加就好了。
添加好后重启Nginx
nginx -s reload