• 为halo博客添加ssl证书(配合nginx反向代理)


    前言

    注:本教程并不是每一个步骤都十分详细,但是关键步骤都给到了,仅作一个参考
    本教程的实验环境:阿里云一台,腾讯云一台,阿里云有halo博客,腾讯云为nginx服务器,先前已经配置好为halo博客的nginx反向代理服务器,现在我们要为nginx添加ssl证书。

    关于先前配置的反向代理:
    起初这个腾讯云的nginx是yum拉取的,然后直接在/etc/nginx/conf.d/中添加halo.conf,内容如下:

    upstream halo_server{
      xx.xx.xx.xx:8090;
    }
    server{
    listen 80;
    server_name halo;
    location  {
    prxoy_pass http://halo_server
    }
    }
    

    简易版的反向代理便做好了。

    添加ssl证书

    域名是腾讯云的,于是进去申请对应域名的免费的ssl证书,点击证书详情可以下载证书:

    由于网上关于nginx添加ssl证书的教程都是源码安装的,于是我就把先前的nginx直接yum remove了(保留了其/etc/nginx目录,里面的halo.conf我们可以留着复用),先跟着网上教程做来看看

    下载源码,编译安装:

    wget http://nginx.org/download/nginx-1.9.9.tar.gz  
    tar zxf nginx-1.9.9.tar.gz
    cd nginx-1.9.9
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    make && make install
    

    关于源码安装nginx的更多细节:https://www.cnblogs.com/sillage/p/14753649.html

    在其主配置文件/usr/local/nginx/conf/nginx.conf,http{ }中我加入了一句include /etc/nginx/conf.d/halo.conf;
    把之前的halo的配置文件包括进去(你也可以把halo.conf放在其他位置,绝对路径正确即可)
    然后对halo.conf进行修改添加ssl证书:

    upstream halo_server{
            server XX.XX.XX.XX:8090;
    }
    server {
        listen 80;
        listen 443 ssl;
        server_name  halo;
    ssl on;
    ssl_certificate /etc/nginx/cert/Nginx/1_XXXX.crt;#从腾讯云下载的证书相关文件,存放路径自定义
    ssl_certificate_key /etc/nginx/cert/Nginx/2_XXXX.key;#从腾讯云下载的证书相关文件
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
        location / {
            proxy_pass  http://halo_server;
       }
    }
    

    按照上述这么操作其实我觉得,就在yum拉取的nginx环境中,对halo.conf添加如上内容,也应该是没有问题,这个请读者自行探索

    由于我的域名启用了cdn,去cdn域名管理添加https,强制跳转建议开启并设置为http强制跳转为https,基础设置里,有个回源协议,可以选择协议跟随:

    然后去halo博客后台为将网站链接改为https形式,如果访问提示网站并不完全安全,那么是因为网站中还包含有http形式的链接,我检查了一圈,发现是头像的原因,于是将头像换为https形式后就ok了:

    添加ssl证书后,halo博客为文章添加访问密码的功能也就可以使用了,亲测可用。

    教程到此便结束了

    作者:
    除特别声明为原创博文外,均可转载,也欢迎转载,未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利,谢谢您的配合。
  • 相关阅读:
    SpringBoot整合ActiveMQ同时支持P2P和发布订阅模式(三)
    SpringBoot整合ActiveMQ的publish/subscribe发布订阅模式(二)
    Windows启动ActiveMQ报Wrapper Stopped错误
    IDEA从远程仓库克隆项目
    Git的安装
    IDEA上传项目到使用github上
    Mybaits的逆向工程
    posman测试接口需要登录验证的使用
    SSM整合SpringSecurity
    SpringBoot整合MongoDB的连接用户名和密码问题
  • 原文地址:https://www.cnblogs.com/sillage/p/14968123.html
Copyright © 2020-2023  润新知