阿里云Nginx配置ssl证书 与 Http转Https

因域名需要使用https访问,决定申请阿里云免费SSL证书并使用nginx配置http强制跳转https。


  • 步骤一

证书申请

登录阿里云官网,在搜索栏搜索SSL证书(应用安全)

imageb006966f28624be3a591524383c06efc.png


点击购买证书,按照图片右侧选项选择个人免费(反正价格是0.00元的就对了)

imagea7b886ddfdfe4efb80b8547d8fe4d5f7e45284676cfc4ac88d26dbaf0c3cf797.png


支付订单

屏幕截图 20201115 154242.png


支付成功,前往证书控制台

屏幕截图 20201115 154215.png


点击证书申请

屏幕截图 20201115 154927.png


填写证书申请,CSR生成方式选择系统生成

屏幕截图 20201115 155250.png


验证,没问题的话大概半小时左右就收到已签发邮件了

屏幕截图 20201115 160732.png


证书已签发,点击下载

屏幕截图 20201115 161214.png


根据自己服务器类型选择下载,由于我的是Nginx,所以选择Nginx下载

屏幕截图 20201115 161821.png


  • 步骤二

Nginx证书配置

Nginx中进行配置

  1. 下载并安装nginx(博主的是内置的Nginx,所以不用下载)

  1. 进入/etc/nginx/目录下,nginx安装目录下新建cert文件夹,将下载的证书解压放在/etc/nginx/cert目录下
cd /etc/nginx/
mkdir cert

  1. 进入nginx.conf文件中,编辑配置文件
vim nginx.conf


  1. 在http中添加server,做反向代理按下面配置
        server{
            listen 80;
            #重定向跳转https
            return 301  https://localhost$request_uri;  #localhost修改为你的域名
        }

        server {
            listen 443 ssl;
            server_name localhost;  # localhost修改为您证书绑定的域名。
            ssl on;

            #root html;
            #index index.html index.htm;

            ssl_certificate cert/domain_name.pem;   #将domain_name.pem替换成您证书的文件名。
            ssl_certificate_key cert/domain_name.key;   #将domain_name.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;
            location / {
                proxy_pass   http://127.0.0.1:8090;  #选填你的端口号
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_set_header Upgrade-Insecure-Requests 1;
                proxy_set_header X-Forwarded-Proto https;

            }
        }

注意:下面这两条是导入默认页面配置,如果不注释掉则会默认跳转默认页面(之前因为没看见找了几个小时!!!😭)

 #include /etc/nginx/conf.d/*.conf;
 #include /etc/nginx/sites-enabled/*;

  1. 按Esc进入命令模式保存并退出
:wq

  • 步骤三

重启Nginx

仅仅配置是不行的,还需要重新加载一下,这样子才能让我们的配置生效。

nginx -s reload

  • 步骤四

刷新页面

image.png

成功!!!😄
即使访问的是http也会重定向变成https!

tips:你的鼓励是博主最大的动力!😃

原博客地址:Tony's blog

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

悠然心会,妙处难与君说