遇到个莫名其妙的问题，我整了个WordPress站点，明明已经开启了HTTPS，但是一旦用手机访问，就无法使用https。使用SSL检测，提示我引用了不安全的HTTP资源，降级为B。手机进入站点，就提示不安全。但实际上，已经使用了https，并且部署好了SSL证书。最后是进入网站查看网页源码，发现确实引用了一个http资源。是WP模板的一个link标签，具体功能可以自己去搜索看看。我使用的是Argon主题，所以直接在主题文件夹中的header.php修改一下即可。在此处将http修改为https即可。修改好后，再检测一下看看。手机打开也能正常显示一把小锁了。总结：这是WP模板里的一个link标签引起的错误，只需要将http修改为https即可。
鸡仔云内网穿透开启https访问配置示例
鸡仔云frp的官方文档还没有全部完成，以至于有些人不明白如何开启https。下面我会写个示例，直接按照自己的需要修改一下即可。[隧道名称] type = https custom_domains = 域名 plugin = https2http plugin_local_addr = 内网IP:端口 # HTTPS 证书相关的配置 plugin_crt_path = 证书存放位置 plugin_key_path = 密钥存放位置 plugin_host_header_rewrite = 内网IP plugin_header_X-From-Where = frp这样就能成功开启https访问了。
利用1panel快速安装并配置maddy server，搭建属于自己的邮局系统
搭建maddy server其实非常简单，跟着教程一步一步来就行了，很快你就会拥有一个属于自己的域名邮箱。1、准备工作一个域名（提前申请好SSL证书）一台开放25端口的云服务器安装好1panel1.2、申请域名的ssl证书使用1panel申请域名的SSL证书即可。1.3、检查25端口是否开放telnet smtp.qq.com 25如果提示类似如下，就证明你的服务器开放了25端口的出口。如果一直没反应，或者提示超时就意味着你的服务器没有开放25端口，可以考虑发送工单或者更换服务商。1.4、创建Docker存储卷终端输入：#创建docker存储卷 docker volume create maddydata #进入docker存储卷目录 cd $(docker volume inspect maddydata --format '{{.Mountpoint}}') #创建证书文件夹 mkdir -p tls1.5、申请SSL证书使用1panel申请SSL证书并且直接推送至刚才创建的文件夹目录中。2、安装配置Maddy Server前面的准备都做好了之后，就可以开始安装Maddy Server了。2.1、安装Maddy Server安装非常简单，只需要进入1panel应用商店页面，找到Maddy 点击安装即可。2.2、设置DKIM DNS解析当容器正常运行后，在/var/lib/docker/volumes/maddydata/_data/dkim_keys路径下会有一个后缀为.dns的文件其中就有我们需要的相关信息。终端输入：#请将example.com替换成自己的域名。 cat /var/lib/docker/volumes/maddydata/_data/dkim_keys/example.com_default.dns根据获取的信息设置DNS解析。如：2.3、设置DNS解析以下出现的example.com都需要替换成自己的域名记录类型主机记录值Amail服务器IP地址A@服务器IP地址MX@mail.example.comTXTmailv=spf1 mx ~allTXT@v=spf1 mx ~allTX_dmarcv=DMARC1; p=quarantine; ruf=mailto:postmaster@example.comTX_mta-stsv=STSv1; id=1TX_smtp._tlsv=TLSRPTv1;rua=mailto:postmaster@example.com解析完毕后，就可以连接容器进入容器终端创建账户了。2.4、创建邮件账户#将example.com替换为自己的域名 #创建用户，用于登录时的验证 maddy creds create postmaster@example.com #创建本地存储账户 maddy imap-acct create postmaster@example.com可以查看一下是否创建成功maddy creds list到此，maddy邮局系统已经安装完毕了，接下来就是登录邮箱了，很多邮箱软件都支持第三方账号登录，接下来我将会用Thunderbird展示如何登录邮箱账号。3、登录邮箱打开Thunderbird软件，添加账户-选择手动配置。填写如下：填写自己的域名点击完成即可。3.1、测试发送邮件可以直接发送一封邮件给自己就可以测试邮件是否正常。3.2、设置rDNS我是使用的华为云，华为云服务器设置rDNS可以直接在“云解析DNS”中，选择反向解析。在这里创建反向解析，将ip关联上邮箱域名即可。如果是其他云服务商，可以发送工单询问如何设置rDNS。4、结束至此，邮局系统已经搭建完毕，可以愉快的使用属于自己的邮箱了。如果有什么疑问，或者有什么问题，可以联系我。我会尽力解答的！
最近在市面上看到好多NAT服务器，在同等配置下NAT服务器价格相比起普通云服务器会便宜很多。因为通常云服务器都是拥有独立IPV4的，而NAT服务器却是共享IP只有数个或者数十个转发端口。今天就来玩一下NAT服务器搭配CDN创建halo个人博客网站。说明：halo博客系统支持docker、docker-compose、jar等等方式部署。本文使用ar方式部署。一台NAT服务器ssh工具java环境mysql数据库1、配置环境由于使用jar方式部署halo需要使用到java环境，所以需要安装java环境。第一步，先使用ssh工具连接NAT服务器。注意：由于NAT服务器是共享IP，所以会有端口转发，需要看清楚自己的NT服务器地址和端口分别是什么。比如我的就是63982连上服务器之后，先安装java环境。由于halo博客系统需要的最低的JDK版本是17，所以我们最低也要安装openjdk-17才行。输入命令：sudo apt install openjdk-17-jre-headless -y E: Unable to locate package openjdk-17-jre-headless #若是出现如上错误则代表需要更换一下Ubuntu的镜像源 #先备份当前镜像源 cp /etc/apt/sources.list #使用vim修改镜像源 vim /etc/apt/sources.list #添加镜像源 此为Ubuntu20.04 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse apt-get update #更新，然后重新输入安装JDK命令即可。安装完成后，输入：java -version出现版本号就是安装成功。下一步，安装MySQL数据库。如果你不打算使用MySQL或者就想使用默认的H2数据库，那么可以跳过这一步。安装MySQL，输入命令：apt install mysql-server -y #在输入 apt install mysql-server在此处连按两下‘TAB’键，就会出现可选的版本。 #halo博客对mysql数据库的版本要求是5.7以上。查看一下MySQL数据库是否正常运行。systemctl status mysql接下来，创建halo数据库。输入命令：mysql -uroot -p #隐藏式输入密码，密码为root账户的密码。输入命令创建数据库。create database halo2 character set utf8mb4 collate utf8mb4_bin; #创建一个名为halo2的数据库 exit #退出mysql到此，环境配置结束。2、安装halo博客系统先创建一个./halo2文件夹mkdir ~/.halo2 #在指定目录创建文件夹 如mkdir /home/.halo2 就是在home目录中创建一个名为.halo2的文件夹 cd ~/.halo2 #进入目录 vim application.yaml #创建halo的配置文件。将配置文件修改并保存好。server: # 运行端口 port: 8090 spring: # 数据库配置，支持 MySQL、MariaDB、PostgreSQL、H2 Database，具体配置方式可以参考下面的数据库配置 r2dbc: url: r2dbc::pool:mysql://127.0.0.1:3306/halo2 username: root password: 123456 #密码 sql: init: mode: always # 需要配合 r2dbc 的配置进行改动 platform: mysql halo: caches: page: # 是否禁用页面缓存 disabled: true # 工作目录位置 work-dir: ${user.home}/.halo2 #例如/home/.halo2 # 外部访问地址 external-url: http://localhost:8090 # 附件映射配置，通常用于迁移场景 attachment: resource-mappings: - pathPattern: /upload/** locations: - migrate-from-1.x如果没有安装和配置数据库，那么使用默认即可。server: # 运行端口 port: 8090 spring: # 数据库配置，支持 MySQL、MariaDB、PostgreSQL、H2 Database，具体配置方式可以参考下面的数据库配置 r2dbc: url: r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE username: admin password: 123456 sql: init: mode: always # 需要配合 r2dbc 的配置进行改动 platform: h2 halo: caches: page: # 是否禁用页面缓存 disabled: true # 工作目录位置 work-dir: ${user.home}/.halo2 #例如/home/.halo2 # 外部访问地址 external-url: http://localhost:8090 # 附件映射配置，通常用于迁移场景 attachment: resource-mappings: - pathPattern: /upload/** locations: - migrate-from-1.x接下来创建一个存放halo运行包的文件夹。mkdir ~/halo cd ~/halo #可指定目录不必非要当前用户目录。 wget https://dl.halo.run/release/halo-2.16.0-rc.2.jar -O halo.jar3、测试运行halo博客先在NAT服务器管理面板中添加端口转发。我们要转发的内部端口为8090。进入halo目录运行halo.jar。cd ~/halo java -jar halo.jar --spring.config.additional-location=optional:file:XXX #注意 XXX为你的.halo2文件目录 如 /home/.halo2 #如果提示权限不足，那使用chmod 赋予halo.jar运行权限即可。然后在浏览器输入ip+转发端口号。由于这是测试运行的命令，所以断开ssh连接时，halo也会被关闭，所以我们需要使用Systemd让其作为服务运行。vim /etc/systemd/system/halo.service[Unit] Description=Halo Service Documentation=https://docs.halo.run After=network-online.target Wants=network-online.target [Service] Type=simple User=USER ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar JAR_PATH --spring.config.additional-location=optional:file:/home/halo/.halo2/ ExecStop=/bin/kill -s QUIT $MAINPID Restart=always StandOutput=syslog #JAR_PATH为halo运行包的绝对路径。 StandError=inherit [Install] WantedBy=multi-user.target配置完后保存退出即可。重新加载Systemdsystemctl daemon-reload运行服务systemctl start halo现在halo就作为服务在后台运行了，即便断开ssh也能正常运行。4、配置CDN使用域名访问博客由于我们没有使用Nginx一类的反代理工具，所以我们这里使用CDN来进行解析。进入CDN控制台新增网站填好源IP和端口，如果你的NAT服务器是域名地址，也可以直接填写域名地址和端口。由于我们是使用了非标准端口，所以回源协议只能选择http，不可以选择https或者跟随协议。将CDN服务商提供给我们的CNAME解析到我们的域名中。现在就可以直接通过域名访问我们的halo博客了。至此，博客就顺利搭建完毕了。5、给网站开启HTTPS由于我们是NAT服务器，所以无法走443端口。但是我们可以利用CDN来开启HTTPS。原站不开启HTTPS，CDN节点开启HTTPS。在CDN控制台中，上传我们域名的SSL证书。然后开启https监听，选择我们上传的证书。回源协议依旧使用http。我们就成功给网站开启了https。
[腾讯云]4月25将结束免费的一年期SSL证书！
腾讯云在3月21号发布公告：关于免费 SSL 证书策略调整通知1、免费SSL证书有效期由12个月缩短至3个月在4月25日之后，在腾讯云申请免费的SSL证书有效期将会从12个月缩短至3个月，但在4月25号前申请的证书有效期依旧是12个月。有必要说明的是，只要你在4月25号00:00之前提交证书审核，那么在审核通过之后，证书的有效期仍为12个月。当然，如果审核未通过，再次审核才通过，那有效期也只有3个月。2、免费证书取消腾讯云域名额度和全网域名额度限制4月25号以后，腾讯云免费证书可以绑定任意域名，不再区分腾讯云域名额度和全网域名额度。有想申请免费SSL证书的，赶紧在4月25号前申请吧！不然就只能获得有效期为3个月的SSL证书了。