热爱技术,追求卓越
不断求索,精益求精

lnmp或lnmpa从http免费升级到https的nginx配置指南

https相对http有诸多好处,此处不列举,自行某度。本文使用的是阿里云ECS,在阿里云ECS上部署了lnmpa套件,lnmpa套件下载地址及相关指南可参考:

https://lnmp.org/

申请域名证书

阿里云提供了免费的SSL证书申请,申请成功后下载nginx版证书压缩包(如:cert-1541810405833_i.lovecto.cn_nginx.zip)。

image

image

nginx配置

管理员权限进入到“/usr/local/nginx”目录

cd /usr/local/nginx

创建cert目录用于存放证书

mkdir cert

进入到cert目录,创建网站目录,如我这里创建的是“i.lovecto.cn”,由于一个ECS上可能会部署多个网站,为了便于管理,根据网站域名进行分类管理是个不错的选择。

cd cert
mkdir i.lovecto.cn

进入到刚刚创建的网站目录“/usr/local/nginx/cert/i.lovecto.cn”,并上传上面下载的证书压缩包“cert-1541810405833_i.lovecto.cn_nginx.zip”。

cd /usr/local/nginx/cert/i.lovecto.cn
##选择压缩包上传
rz

解压zip包

unzip cert-1541810405833_i.lovecto.cn_nginx.zip

进入到对应的配置文件,由于我们使用了lnmpa,那么nginx网站的配置在“/usr/local/nginx/conf/vhost”下:

cd /usr/local/nginx/conf/vhost/

编辑对应的网站配置,比如本文的网站配置是“i.lovecto.cn.conf”

vi i.lovecto.cn.conf

输入”i”进入编辑模式,注释掉“listen [::]:80;”,在前面加上“listen 443;”,并加上SSL的相关配置,其他地方不需要修改,修改或添加的部分如下(只有端口和SSL的部分):

listen 443;
#listen [::]:80;

ssl on;
ssl_certificate   /usr/local/nginx/cert/i.lovecto.cn/cert-1541810405833_i.lovecto.cn.crt;
ssl_certificate_key  /usr/local/nginx/cert/i.lovecto.cn/cert-1541810405833_i.lovecto.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

其中ssl_certificate和ssl_certificate_key就是我们刚解压出来的文件。

由于网站是从http升级到https,所以为了让http的访问也能正常跳转到https,我们在底部还需要加上:

#强制让http请求跳转到https
server{
        listen 80;
        server_name i.lovecto.cn;
        rewrite ^(.*) https://$server_name$1 permanent;
}

保存修改的文件后退出”Esc -> : ->wq”。

cd /usr/local/nginx/sbin
./nginx -s reload

如果不能访问网站,请检查ECS是否设置了防火墙,相关配置可参考《centos7防火墙firewalld、systemctl、firewalld-cmd配置及端口添加删除》,设置防火墙允许访问443端口即可。

如果还是不能正常访问,请到阿里云检查安全组是否允许443端口访问,可参考《阿里云elasticsearch外网(公网IP)9200、9300端口访问NoNodeAvailableException问题》。

最后访问网站,正常:

i.lovecto.cn使用https访问

i.lovecto.cn使用https访问

赞(2)
未经允许不得转载:LoveCTO » lnmp或lnmpa从http免费升级到https的nginx配置指南

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

热爱技术 追求卓越 精益求精