OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书

这篇具有很好参考价值的文章主要介绍了OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

适用范围

本方法适用于使用OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书。
提示:
1、如果你的网络的80或者443端口是开放状态,可直接使用https://letsencrypt.org/进行ssl申请,使用acme.sh脚本可快速完成。
2、如果你的网络ddns服务提供商服务到位,可以使用dns验证的方法,也更加方便。

本流程适用于上述两种方法都失效的情况下,采用邮箱验证来完成域名所属验证。

OpenWrt 分支: 22.03.3 内核: 5.10.161

流程简述

  1. 在https://zerossl.com/ 上为自己的域名开始申请ssl证书
  2. 验证的时候选择邮箱验证
  3. 通过在openwrt上架设邮箱服务器,完成邮箱验证
  4. 下载申请到的证书,上传到openwrt上
  5. 完成

详细流程

在zerossl上申请证书

在申请的时候需要验证自己域名的所有权,选择邮箱验证(幸好zerossl支持这种方式)

在openwrt上架设邮箱服务器

zerossl是通过发送邮件到包含域名的邮箱地址的,如 admin@你的域名,所以必须在openwrt上架设邮箱服务器。

postfix

使用postfix作为架设邮箱服务器的工具,可以通过命令行或者luci安装 postfix,我这里安装的版本是3.5.8-2。
安装完成之后使用vim /etc/postfix/main.cf编辑配置文件,将下列配置替换域名直接粘贴到最后区域,覆盖之前的内容。

inet_interfaces = all
inet_protocols = all
default_database_type = cdb
config_directory = /etc/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
shlib_directory = /usr/lib/postfix
manpage_directory = no
data_directory = /usr/var/lib/postfix
queue_directory = /usr/var/spool/postfix
mail_spool_directory = /usr/var/mail
myhostname = 你的域名
mynetworks_style = subnet

经过测试这块代码这样是可以运行的,如果比较懂的可以自行调整。

  • 可以先检查配置文件是否有问题:
[root@OpenWrt:10:56 PM /] # /etc/init.d/postfix postinst
postfix: warning: smtputf8_enable is true, but EAI support is not compiled in
postfix: warning: smtputf8_enable is true, but EAI support is not compiled in
postfix: warning: smtputf8_enable is true, but EAI support is not compiled in
newaliases: warning: smtputf8_enable is true, but EAI support is not compiled in
postalias: warning: smtputf8_enable is true, but EAI support is not compiled in
postmap: warning: smtputf8_enable is true, but EAI support is not compiled in
postfix: warning: smtputf8_enable is true, but EAI support is not compiled in
postsuper: warning: smtputf8_enable is true, but EAI support is not compiled i

我这里有这样的warning,不影响功能。

  • 运行:
[root@OpenWrt:10:56 PM /] # /etc/init.d/postfix restart

服务器运行成功,不要忘了调整防火墙设置,以免邮件发送不进来。

  1. 测试是否搭建成功
    使用google mail发送任意邮件到root@你的域名测试是否能发送邮件到我们的服务器上,这里不要使用qq邮箱,我这里用qq邮箱发送不进来。
  2. 检查邮件
    稍等一分钟的样子,通过如下命令行检查
    vim /usr/var/mail/root
    
    这时应该能在其中看到google成功发送过来的邮件,如果没有,考虑是否哪里设置有问题,如ddns解析、防火墙设置、或者邮箱服务器设置是否正确。如果一切正常,邮箱服务器架设成功。

创建合适的邮箱账户

zerossl上只能选择固定的几种邮箱地址来验证,所以root账户是不行的,我选择的是admin@你的域名来验证。这时候可以通过在openwrt上安装shadow-useradd来添加用户,安装完成之后:
运行:

  1. useradd admin
  2. passwd admin

完成之后,重启postfix:/etc/init.d/postfix restart

zerossl域名验证

选择admin@你的域名来进行验证,这时候zerossl会发送一个邮件到这个地址。
使用vim /usr/var/mail/root来查看邮件内容,按照提示完成验证,然后下载证书文件。

上传证书

  1. 提前在luci中安装好luci-app-uhttpd
  2. 解压上一步下载好的证书文件,使用工具将其中的certificate.crtprivate.key上传到openwrt的/etc/目录。
  3. 在luci中服务-uHTTPd中选择上一步上传的文件,如下OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书
  4. 尝试访问https接口,看证书是否有效,完成。

参考链接:
http://cn.linux.vbird.org/linux_server/0380mail.php#postfix
https://letsencrypt.org/zh-cn/docs/allow-port-80/文章来源地址https://www.toymoban.com/news/detail-443489.html

到了这里,关于OpenWrt 在没有80\443端口、不能dns验证的情况下为自己的域名申请免费ssl证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows 查看端口占用情况 & 80端口被占用处理方法

    一 . 用netstat指令查看是端口占用情况 查看所有端口的占用情况 命令格式:netstat [options] -a表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。 -n表示只以数字形式显示所有活动的TCP连接的地址和端口号。 -o表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

    2024年02月06日
    浏览(41)
  • NextCloud 全新安装后不能出现登录页面,可以打开登录界面并在确定密码没有错误的情况下却无法登录问题的解决

     主要问题:全新安装的nextcloud时,会出现过一会,安装页面出现错误;静等到一切安装完成,输入地址,却出现404错误的问题;还有在进入登录页面后,在确定密码没有错误的情况下,无法通过web页面登录;登录次数过多后,因防暴力试错破解机制,导致延迟登录。本文将解

    2024年02月05日
    浏览(43)
  • 针对“您的计算机配置似乎是正确的,但该设备或资源(DNS 服务器)没有响应“问题解决 办公室微信qq可正常聊天,但不能打开链接和上网

    解决思路: 1.在“开始”中找到“运行”(或者直接【Win】+【R】),然后输入“cmd”进入管理员操作界面。 2.在管理员界面中输入命令:ipconfig/all然后按Enter键确认即可显示WindowsIP配置,在这里我们可以查看我们的DNS服务器地址。  IPv4 地址 . . . . . . . . . . . . :   默认网关. .

    2024年02月05日
    浏览(109)
  • OpenWRT 分流DNS的设置

    文章出处: OpenWRT 分流DNS的设置 · Issue #57 · luckyyyyy/blog 我自己根据实际需要基于上方的链接内容进行了相关补充 OpenWRT配置IPv6的方法参考如下文章: OpenWRT IPv6 NAT配置 目前还是有许多人喜欢设置DNS,虽然会浪费一些转发性能,但如果明白其中的链路关系,合理设置后,还是

    2024年02月05日
    浏览(35)
  • 443端口(网页浏览端口)被占用无法启动解决办法

    netstat -ano|findstr \\\"443\\\" //搜索443端口占用情况,并找到进程ID TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 720 //找到PID为720 UDP 0.0.0.0:59443 *:* 7584 ----------------------------------------------- tasklist|findstr \\\"720\\\" //查找PID为720对应的进程名 QQDownload.exe 720 Console 1 56,156 K //找到是QQ旋风占用,结束掉进程。OK 如何

    2024年02月05日
    浏览(37)
  • nginx :80跳转其他端口

    以docker nginx为例 修改docker-env.yml文件增加端口映射 修改nginx配置文件,增加server nginx -t  #测试配置文件是否通过 重新build和重启nginx 服务 测试 http://xxx.xxx.com 是否跳转到对应的端口(如8001)

    2024年02月14日
    浏览(36)
  • Linux iptables配置开启80端口

    在Linux服务器上,我们可以使用iptables工具来配置和管理网络防火墙规则。如果你想要开启80端口,以便在服务器上运行Web服务(如HTTP),你可以按照以下步骤进行配置。 首先,你需要通过终端以root权限登录到服务器。然后,执行以下命令以开启80端口: 这个命令将在INPUT链

    2024年02月04日
    浏览(30)
  • 80端口被System占用如何解决

    在我配置 Tomcat时,将conf文件夹下的server.xml 的如下内容做了更改 修改前: 修改后: http 协议默认端口号默认端口号为80,我将Tomcat 端口号改为80,则将来访问Tomcat时,将不用输入端口号。 但是当我输入localhost时,页面 出现了 404 not found错误 通过在网上查询,我了解到可能是

    2024年02月06日
    浏览(42)
  • Linux服务器80端口无法访问

    在Linux操作系统下(Ubuntu)撰写好的服务器程序在连接时经常会出现80端口无法访问,卡死在accept之前的情况,如图下图所示。通常按以下步骤排查测试大概率会解决端口无法访问的问题。 一、 连接服务器的用户 二、确定是否开发80端口 三、确定访问地址地址是否正确 四、

    2024年02月08日
    浏览(47)
  • nginx配置监听443端口,开启ssl协议,走 https 访问_nginx 443(1)

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Linux运维全套学习资料》,

    2024年04月22日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包