【Caddy】Caddy实践1——此网站无法提供安全连接

背景:卸载

最近安装Caddy在另外一个机器上出现了错误,执行步骤如下:

步骤一:添加 Caddy 软件源并安装

  1. 执行以下命令添加 Caddy 的软件源并安装:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy

步骤二:配置 Caddy

  1. 编辑 Caddy 配置文件 /etc/caddy/Caddyfile 并配置你的网站,例如:
yourdomain.com {root * /var/www/htmlfile_server
}

步骤三:启动 Caddy 服务器

  1. 启动 Caddy 服务器:
sudo systemctl enable --now caddy

步骤四:配置 HTTPS

Caddy 默认支持自动 HTTPS 部署,只需确保你的域名解析正确并且服务器开放了 80 和 443 端口。

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow http 
sudo ufw allow https

服务器如果需要配置支持 HTTPS (如果默认不允许),执行如下命令。

sudo ufw allow https

问题:

本人在执行 sudo systemctl enable --now caddy 后,命令行并未提示故障,但是实际访问的时候不能正常访问:
执行 journalctl -u caddy.service 观察日志发现:

root@ecs-158006:~# sudo systemctl start caddy
root@ecs-158006:~# sudo systemctl reload caddy
journalctl -u caddy.service
Mar 21 12:07:34 ecs-158006 systemd[1]: Reloading Caddy...
略...
Mar 21 12:07:34 ecs-158006 caddy[2515178]: {"level":"error","ts":1710994054.4442222,"msg":"unable to create folder for config autosave","dir":"/var/lib/caddy/.config/caddy","error":"mkdir /var/lib/caddy: permission denied"}
Mar 21 12:07:34 ecs-158006 caddy[2515178]: {"level":"error","ts":1710994054.444261,"logger":"tls","msg":"job failed","error":"bjkdy.com: obtaining certificate: failed storage check: mkdir /var/lib/caddy: permission denied - storage is probably misconfigured>
Mar 21 12:07:34 ecs-158006 caddy[2515178]: {"level":"info","ts":1710994054.4446912,"logger":"admin.api","msg":"load complete"}
Mar 21 12:07:34 ecs-158006 systemd[1]: Reloaded Caddy.
Mar 21 12:07:34 ecs-158006 caddy[2515178]: {"level":"info","ts":1710994054.4483511,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}

根据提供的日志信息和配置文件,问题出在Caddy无法创建必要的文件夹来保存证书和配置信息,导致证书管理失败。错误信息显示了权限被拒绝的问题。

为了解决这个问题,尝试以下步骤:

  1. 授予Caddy所需的权限

    • 确保Caddy有足够的权限来创建所需的文件夹。使用以下命令更改文件夹的权限:

      sudo chown -R caddy:caddy /var/lib/caddy
      
  2. 重新加载Caddy服务

    • 在更改了文件夹权限后,重新加载Caddy服务以使更改生效:

      sudo systemctl reload caddy
      
  3. 再次尝试访问网站

    • 确保Caddy能够成功获取和管理SSL证书。尝试重新加载Caddy后再次访问https://...,问题得到解决。

通过以上步骤,能够解决Caddy无法创建文件夹的权限问题,从而正常获取和管理SSL证书,使网站能够提供安全连接。希望这些信息对你有帮助。

遗留问题

有的服务器很顺利,有的就不行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哨兵位、链表的链接

哨兵位: 通俗的话讲就是额外开辟一块空间,指向链表的头部。 合并两个有序链表 已解答 简单 相关标签 相关企业 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入&#…

java入门学习

程序员必备:常见算法与应用综述 算法是计算机科学的核心,是解决问题的关键。在程序员的日常工作中,算法无处不在。本文将以“程序员常用的几种算法”为主题,从多个维度介绍程序员常用的算法,并分析其适用场景、优缺点…

在 CentOS 7 上编译安装 Nginx 1.18

1. 安装依赖包 首先,安装 Nginx 所需的基本依赖包: yum install -y gcc gcc-c make automake autoconf pcre-devel zlib-devel openssl-devel2. 下载 Nginx 源代码 wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -xzvf nginx-1.18.0.tar.g…

Jupyter R绘图 汉字显示乱码的解决办法

1.Jupyte中,R绘图,汉字显示乱码 2.如何解决? (1)R中安装showtext 登录linux服务器 #R > install.packages(“showtext”) … 出错 (2)退出R,安装freetype-config #apt install libfreetype6-dev 出错 (3)进入R&…

学习人工智能:Attention Is All You Need-2-Transformer模型;Attention机制;位置编码

3.2 注意力机制Attention 注意力函数可以描述为将查询和一组键值对映射到输出的过程,其中查询、键、值和输出都是向量。输出被计算为值的加权和,其中每个值的权重由查询与相应键的兼容性函数计算得出。 3.2.1 缩放点积注意力 Scaled Dot-Product Attenti…

5.81 BCC工具之tcpconnlat.py解读

一,工具简介 tcpconnlat工具追踪执行活动TCP连接的内核函数(例如,通过connect()系统调用),并显示本地测量的连接延迟(时间):从发送SYN到响应数据包的时间。 二,代码示例 #!/usr/bin/env pythonfrom __future__ import print_function from bcc import BPF from soc…

shentou思路流程

信息收集: 1、获取域名whois信息也就是所谓的资产收集 2、服务器子域名、旁站、c段查询 3、服务器操作系统类型、版本、补丁状况、开放端口:22 ssh 80 web 445 3389.。。 4、web中间件类型、版本、网站目录结构、使用的waf等设备 5、数据库类型、版…

Linux运维_Bash脚本_构建安装MySQL-8.0.18

Linux运维_Bash脚本_构建安装MySQL-8.0.18 Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。 您可以在 Linux …

鸿蒙Harmony应用开发—ArkTS-@AnimatableExtend装饰器:定义可动画属性

AnimatableExtend装饰器用于自定义可动画的属性方法,在这个属性方法中修改组件不可动画的属性。在动画执行过程时,通过逐帧回调函数修改不可动画属性值,让不可动画属性也能实现动画效果。 可动画属性:如果一个属性方法在animation…

【C语言基础篇】内存处理函数(二)memove的介绍及模拟实现

个人主页: 倔强的石头的博客 系列专栏 :C语言指南 C语言刷题系列 待完善补充

无插件网页视频播放器,支持图像绘制(包含方格子、方框等),支持音视频播放、支持录像截图,提供源码下载

前言 本播放器内部采用jessibuca插件接口,支持录像、截图、音视频播放等功能。播放器播放基于ws流,图像绘制操作:1)支持绘制方格子,用于监控移动检测画框;2)支持绘制不透明方框,用于…

macOS下Java应用的打包和安装程序制作

文章目录 macOS应用程序结构Java应用打包JavaAppLauncherjpackage其它相关JDK命令附录JavaAppLauncher源码链接macOS应用程序结构 macOS通常以dmg或pkg作为软件发行包,安装到/Applications下后,结构比较统一。 info.plist里的CFBundleExecutable字段可以指定入口,如果不指定…

基于JavaWeb+BS架构+SpringBoot+Vue+O2O生鲜食品订购小程序系统的设计和实现

基于JavaWebBS架构SpringBootVueO2O生鲜食品订购小程序系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图 文末获取源码 Lun文目录 目 录 摘 要 I Abstract II 1 绪 论 1 1.1课题研究背景及意义 1 1.2研究现状 1 1.3本论文的主要论文结构 3 2系统相关技术…

【工具使用】VScode如何设置中文环境

操作步骤 1.1 安装中文插件 1.2 设置为中文,然后重启 按照插件的使用方法介绍设置中文: 按下“CtrlShiftP”组合键以显示“命令面板”: 输入“dispaly”,选择“Configure Display Language”: 选择“中文简体” …

使用Python和OpenFOAM进行流体力学模拟的基础示例

流体力学模拟通常涉及复杂的数学方程和数值方法,例如计算流体动力学(CFD)。OpenFOAM是一个开源的CFD工具箱,它使用C编写,但可以通过Python脚本进行自动化和定制。 以下是一个简单的示例,展示如何使用Python和OpenFOAM进行流体力学…

【练习】双指针算法思想

🎥 个人主页:Dikz12🔥个人专栏:Java算法📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 1. 移动零 1.1 题目描述 1.2 讲解算法原理 1.3 编…

请解释 VB.NET 中的命名空间(Namespace)以及它们的作用

请解释 VB.NET 中的命名空间(Namespace)以及它们的作用 在VB.NET中,命名空间(Namespace)是一种用于组织和管理代码的机制。命名空间允许开发人员将相关的类、结构、接口和其他类型组织在一起,以便更好地管…

代码随想录 动态规划-子序列问题-子序列(连续)

目录 674.最长连续递增序列 718.最长重复子数组 53.最大子数组和 674.最长连续递增序列 674. 最长连续递增序列 简单 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&…

数字孪生底层技术框架

数字孪生是一种将现实世界中的物理实体、过程或系统数字化并映射到计算机模型中的方法。它在数学建模与仿真方面具有重要作用,为了实现数字孪生,以下是一些底层技术框架和方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业…

【高并发服务器 02】——线程池与IO多路复用

线程池复习 线程池的好处:所有的池都是为了事先把资源准备好,在后续用的时候可以更加方便的拿到这个资源——不用去申请、释放资源 什么时候用线程池? IO&事务并发较高:人在杭州,但是数据库在北京,想要…