小白适用,一步一步告诉你动态域名HTTPS配置
admin 2026.02.01 · 41 浏览

非443端口部署证书 环境:自建的服务器。centos7系统,电信宽带有公网ip,使用了ddns,可以通过固定域名+端口访问。但是80/443端口被封,非443端口部署ssl证书办法

我的环境就是这个样子,然后现在已经更新了HTTPS。下面是步骤,从安装证书开始。

第一步宝塔申请证书

宝塔SSL面板申请,进入SSL管理:

宝塔面板 → 网站 → 对应网站 → SSL

选择 Let's Encrypt 或宝塔SSL

选择DNS验证方式:

在域名验证方式中选择 DNS验证

 

第二步域名解析

你的域名是通过CNAME指向DDNS服务(比如花生壳、阿里云解析等),在域名提供商新建解析域名示例:

主机记录:_acme-challenge
记录类型:TXT
记录值:这里填写宝塔面板给你的值(很重要!)
TTL:600(或默认)
线路类型:默认

这些数据在宝塔里申请证书时是有的

要注意,比如在腾讯云DNS中

主机记录填:_acme-challenge.m

这样会自动变成:_acme-challenge.m.shee.cc

验证DNS是否生效,等待1-2分钟后,在服务器执行:

dig TXT _acme-challenge.m.shee.cc

如查显示未找到命令,就安装一下

yum install bind-utils -y

安装成功后,重新
dig TXT _acme-challenge.m.shee.cc

成功后,你进入SSL设置页面,直接验证就可以了。申请成功后保存使用证书。

第三步配置文件修改

开始设置你的网站,在网站配置里找到

listen 443 ssl;

因为你动态域名,是打不开80和443的,所以443那里要改成你要的端口,比如你可以改成8443。

    listen 10000;          # HTTP服务端口
    listen 8443 ssl;       # HTTPS服务端口(新修改的)
    # listen 443 quic;     # 这行已被注释掉

这样其实就可以了,使用http  就你网址后面加个10000(这是我现在用的端口)使用https网址后面就加上8443


但是你和我一样的情况,不是新站,以前一直用的是HTTP ,不可能在换个端口,还是需要原来的端口使用HTTPS那么就看下一步

第五步HTTP直接变成HTTPS

    listen 10000;          # HTTP服务端口
    listen 8443 ssl;       # HTTPS服务端口(新修改的)
    # listen 443 quic;     # 这行已被注释掉

上面删掉,替换成下面代码

listen 10000 ssl;
# listen 443 quic;  # 可以注释或删除这行

找到

error_page 497  

替换成

error_page 497  
# 或者更明确的:
error_page 497  

网址和端口改成你自己的

完成后的效果是  打开你带端口的http网址会自动跳到https。这样就可以了。


但是还有一个问题,你像我一样,我建了别的网站,他会把别的HTTP的网站变成HTTPS导致其他网站无法打开。正常http不受HSTS影响,那么就接着做一步

第六步只针对一个端口生效

修改成

server {
    listen 10000 ssl;  # 只保留HTTPS
    server_name m.shee.cc;
    
    # HSTS只对这个端口生效
    add_header Strict-Transport-Security "max-age=31536000";
    

 

TAG


— THE END —