nginx+宝塔面板配置https

前提条件:

  • 已经购买服务器
  • 已经安装宝塔面板
  • 已经有域名
  • 已经申请ssl证书

方法一: 使用宝塔面板一键配置https

  1. 实例使用的是腾讯服务器并且在腾讯买的域名;首先将申请好的ssl证书下载:
    请添加图片描述
    选择下载Nginx版:
    在这里插入图片描述
  2. 打开宝塔面板>网站>设置:
    请添加图片描述
    随后点击弹出窗口右侧SSL,打开上述下载好的SSL证书文件夹,将.pem.key结尾的文件分别用记事本打开后复制其中的内容到对应的输入框:
    请添加图片描述
  3. 点击保存,开启强制HTTPS,大功告成!

方法二:使用nginx手动配置 https

  1. 下载对应SSL证书(和方法一版本一致),在将证书文件夹中的.pem,.key文件上传到对应文件夹下:/www/server/nginx/conf/

  2. 检查是否放行了443端口。随后打开宝塔面板的软件商店,找到nginx,点击设置,点击配置修改:‘
    请添加图片描述

  3. 和server同级,另外写一个server,主要关注从HTTPS start------HTTPS end------以及头部的listen:

 server {
        listen 80;
        listen 443 ssl http2;
        server_name example.com;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For 
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Headers X-Requested-With;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
        # HTTPS start------
        # 如果访问的不是443端口跳转到https协议        
        if ($server_port !~ 443){
            rewrite ^(/.*)$ https://$host$1 permanent;
         }
        # 上传的.pem和.key文件路径
        ssl_certificate /www/server/nginx/conf/xxxxxx.pem;
        ssl_certificate_key /www/server/nginx/conf/xxxxxx.key;
        # 指定客户端可以重用会话参数的时间
        ssl_session_timeout 10m;
        #表示使用的加密套件的类型。
        ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        #表示使用的TLS协议的类型。
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        # 服务端加密算法优先
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        # HTTPS end------
        location / {
            root /home/;
        }
    }
  1. 点击保存,重启nginx

说明: 比如我们现在要访问https://example.com/images/user-img.png这样一张存放在服务器上的图片,当我们开启https服务后就可以通过上述方式访问,也能够通过http访问。因为http默认端口80,https默认端口443,当我们以80端口访问时就会被检测到不是443端口,从而强制切换到https协议即443端口。

这也是为什么同时listen 443 和 80 的原因~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值