如果已安装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