nginx使用https(当没有ssl模块的时候)

      • 阿里云获取ssl证书
      • nginx无ssl模块安装
        • 重新配置编译
        • 未安装openssl 或者支持包处理

目前微信小程序需要使用https,并且使用了nginx做服务器,现在研究一下怎么升级。首先需要先申请到 ssl证书,这边讲阿里云服务器的整数

阿里云获取ssl证书

登录阿里云,直接搜索ca证书,一般第一个就会跳带有立即开通的入口,进入购买=>免费版的选择Symantec品牌证书类型=>免费型DV SSL(如果没看到,就选择一下增强型就会出来了)=>直接购买
nginx使用https(当没有ssl模块的时候)_第1张图片
nginx使用https(当没有ssl模块的时候)_第2张图片

一般购买后到证书控制台补全资料,等待审核通过就可以直接下载了。
点击下载就会进入阿里的配置帮助,有各种的nginx、apache、tomcat等

如果按照阿里云的方式加入配置文件报错unknown directive "ssl"就是没有编译安装ssl模块

nginx无ssl模块安装

重新配置编译

进入nginx解压目录,带configure文件,执行:

./configure --with-http_ssl_module

如果直接显示nginx的一些选项则配置通过跳过下一个步骤,如果报错 **./configure: error: SSL modules require the OpenSSL library.**就是表示未安装openssl或支持包

未安装openssl 或者支持包处理

报错
Centos需要安装openssl-devel : yum -y install openssl openssl-devel
Ubuntu则需要安装:

sudo apt-get install openssl
sudo apt-get install libssl-dev

其中如果Ubuntu报错这边根据网上的说法,vim /etc/resolv.conf 添加nameserver 8.8.8.8
然后sudo apt-get update之后就可以执行sudo apt-get install libssl-dev安装了,我是用这种方式解决的。
运行make注意,只有make!
然后保存备份正在运行的nginx文件cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
接着将刚才编译目录下的nginx替换过去 cp -rfp objs/nginx /usr/local/nginx/sbin/nginx
使用-rfp防止文件被占用,接着检查语法./nginx -t成功:

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

重启nginx,别忘了阿里云配置安全组443端口。

你可能感兴趣的:(微信开发教程)