nginx配置https域名
-
如果已安装nginx若没有配置ssl模块需要添加ssl模块。注意:默认是不会安装ssl模块的
查看nginx是否有安装ssl模块
./nginx -V
若执行结果显示下图中的-with-http_ssl_module则说明nginx已经安装了ssl模块

若没有安装则重新打包编译
./configure --with-http_ssl_module
编译
make
复制编译好的nginx替换现有的nginx
cp objs/nginx /usr/local/nginx/sbin/nginx
-
在nginx的conf中配置https
特别注意的是https使用的是443端口,此处若用户依旧使用的是http,则我们可以重定向到https域名上
server {listen 80;server_name xxx.com;rewrite ^(.*)$ https://$host$1 permanent;
}server {listen 443;server_name xxx.com;ssl on;ssl_certificate cert/xxx.pem;ssl_certificate_key cert/xxx.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {root html;index index.html;}
}
-
若没有pem和key文件我们去阿里云申请

在阿里云搜索SSL证书,点击免费证书,点击立即购买

购买成功后,我们可以看到已经购买了20个证书,如下图所示,点击创建证书

创建成功后,点击证书申请,填写一下表单,此申请会从CA中心创建一个安全的证书

申请提交成功后,有一个审核过程,大概等待10分钟左右,证书状态变成已签发就可以下载证书了

注意:证书有多种类型支持下载,此处我们选择nginx证书,解压后会得到pem和key文件

-
接着配置,我们将下载好的pem和key文件上传到/usr/local/nginx/conf/cert文件夹下
重启nginx即可
nginx -s reload