栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

个人购买的域名(需要公网服务器)快速配置免费的HTTPS证书【有手就行】

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

个人购买的域名(需要公网服务器)快速配置免费的HTTPS证书【有手就行】

文章目录
    • 配置免费的HTTPS证书
      • 0. 开放443端口
      • 1. 进入https://freessl.cn/
      • 2. 创建证书
      • 3. 配好后,点击验证,生成证书、以及公钥
      • 4. Nginx配置
      • 5. 访问

配置免费的HTTPS证书 0. 开放443端口

这是云服务主机商那边的管理的443端口对外开放



还要释放云服务本机上面的443端口 == 我写了个防火墙脚本你们可以直接拿来用

sh firewallUtil.sh open 端口号
sh firewallUtil.sh close 端口号
sh firewallUtil.sh check 端口号
sh firewallUtil.sh status 端口号
sh firewallUtil.sh list


firewallUtil脚本

#!/bin/bash


# 开启端口
openPort () {
        if [ ! $1 ]; then
                echo '请输入需要开启的端口,请检查'
                exit 1
        fi
        portStatus=$(firewall-cmd --query-port="$1"/tcp)
        if [ $portStatus = 'no' ]; then
                sudo firewall-cmd --add-port=$1/tcp --permanent
                firewall-cmd --reload
                sleep 1s
                echo '端口【$1】已成功开启'
        else 
                echo "端口【$1】已开启,无需重复开启"
        fi
}

# 关闭端口
closePort () {
        if [ ! $1 ]; then
                echo '请输入需要关闭的端口,请检查'
                exit 1
        fi
        portStatus=$(firewall-cmd --query-port="$1"/tcp)
        if [ $portStatus = 'yes' ]; then
                firewall-cmd --permanent --remove-port=$1/tcp
                firewall-cmd --reload
                sleep 1s
                echo '端口【$1】已成功关闭'
        else
                echo "端口【$1】已关闭,无需重复关闭"
        fi
}

# 查看端口是否开启关闭
checkPort () {
        if [ ! $1 ]; then
                echo '请输入需要检查的端口,请检查'
                exit 1
        fi
        portStatus=$(firewall-cmd --query-port="$1"/tcp)
        echo "端口【$1】状态:$portStatus"
}

# 查看系统中开放的端口
listPort () {
        openPortInfo=$( firewall-cmd --list-all | grep ports | awk  'NR==1{for(i=2;i<=NF;i++) print $i}'  | sort -nk 1 -t '/')
        echo "系统中对外开启的端口"
        echo "$openPortInfo"
}


case $1 in
open)
        openPort $2
        ;;
close)
        closePort $2
        ;;
check|status)
        checkPort $2
        ;;
list)
        listPort
        ;;
*)
        echo '参数错误:请输入第一个参数open|close|check|status|list 中的任何一个、第二个参数【可选】端口号' 
esac
1. 进入https://freessl.cn/ 2. 创建证书

将这里的值,配置到腾讯云(如果你的域名从阿里云买的则去阿里云那边配)DNS解析中

3. 配好后,点击验证,生成证书、以及公钥

【点击验证】等了一会一直没反应,如下图。则在一点一遍【点击验证,出现下图的第二张图】

将证书、密钥下载好,将其配到nginx上即可

4. Nginx配置
    
    # 不同域名配置多个证书,可将这个节点复制粘贴一遍,改一下server_name ssl_certificate ssl_certificate_key即可
    # server_name必须是你证书申请时是什么就填什么
    server {
        listen       443 ssl;
        server_name  test.linruchang.work;

        ssl_certificate      /www/server/nginx/httpsDoc/test.linruchang.work/full_chain.pem;
        ssl_certificate_key  /www/server/nginx/httpsDoc/test.linruchang.work/private.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        
        # 小米官网
        location  /xiaomi {
           root /www/project;
        } 
    }

    
    # 所以http请求都重定向到https上
    server {
        listen 80;
        index index.html index.htm index.jsp index.php; 
        error_page 400 404 413 /4xx.html;
        error_page 500 502 503 504 /50x.html;
        rewrite ^(.*)$ https://$host$1 permanent;
          
    }


将这两个文件上传到Linux服务器

5. 访问

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号