我已经在阿里上面买了一个服务器了,申请了免费的ssl证书,并且拥有了一个域名
配置
下载ssl证书
我这里用的nginx部署的,所以我下载的是nginx的配置文件
下载之后有两个文件。分别是.pem和.key文件
配置https服务
1、在/usr/local/nginx目录下创建/ssl/zj_person_walletopen_h5文件夹用来存放刚刚下载的两个认证文件
2、在nginx.conf配置文件中配置
server {
listen 443 ssl;
server_name 域名;
ssl_certificate /usr/local/nginx/ssl/zj_person_walletopen_h5/文件名.pem;
ssl_certificate_key /usr/local/nginx/ssl/zj_person_walletopen_h5/文件名.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location /zj_person_walletopen_h5 {
root /usr/share/nginx/html/;
index index.html;
}
}
3、配置完重启即可 找到nginx下的sbin文件并进入执行 ./nginx -s reload 重启nginx
./nginx -s reload
问题
1、模块不存在
如果遇到这个问题,就是表名明,你安装的nginx中不存在这个模块ngx_http_ssl_module,要么重新安装nginx,要么往下看
[emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:133
切换你的nginx的安装包下,以下命令都是在这个包下执行:
cd /root/nginx/nginx-1.11.3
主要修改的是这两个文件,需要注意一下
1、查看nginx原有的模块
nginx -V
2、在configure arguments:后面显示的原有的configure参数如下:(查看)
--prefix=/usr/local/nginx --with-http_stub_status_module
那么我们的新配置信息就应该这样写(运行):
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
运行上面的命令即可,等配置完
3、配置完成后,运行命令
make
这里不要进行make install,否则就是覆盖安装
4、然后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
5、然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)
nginx -s stop
也就在开头提到的objs下的nginx复制到项目所在的文件下进行替换
cp ./objs/nginx /usr/local/nginx/sbin/
6、回到nginx的安装目录(非安装包所在目录),启动nginx,查看是否已经加入成功
./nginx -s reload
nginx -V
输入域名查看配置结果
如果有域名出现这种情况,请备案
如果没有域名、先买域名