• 确博日记
  • 工作时间:09:30 pm-06:24 pm

文件验证的操作步骤

确博建站


一、获取验证文件信息

  1. 选择文件验证方式:在 Let’s Encrypt 证书申请流程中,当进行到 “域名验证” 环节时,选择 “文件验证(HTTP-01)” 选项。该选项通常在验证方式列表中明确标识,部分平台可能会以 “Webroot 验证” 等相近表述呈现,其本质都是通过文件验证域名所有权。
  1. 生成验证文件内容及路径:证书平台会生成一个唯一的验证文件,提供两部分关键信息:
    • 文件路径:一般固定为/.well-known/acme-challenge/目录下的一个特定文件名,例如/.well-known/acme-challenge/abcdef123456.txt,路径中的每一级目录及文件名都不可随意更改,需严格遵循平台生成的信息。
    • 文件内容:一段由数字、字母组成的随机字符串,例如abc123xyz7890,该字符串是证书平台用于验证的核心依据,务必准确记录。

二、在服务器网站根目录创建验证文件

  1. 确定网站根目录位置
    • Nginx 服务器:常见的网站根目录路径为/usr/share/nginx/html。若服务器进行过自定义配置,可通过 Nginx 配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/目录下的具体站点配置文件)中的root指令确定实际根目录,如root /data/www/website;,则/data/www/website为网站根目录。
    • Apache 服务器:默认根目录多为/var/www/html。同样,若有自定义设置,可查看 Apache 配置文件(一般是/etc/httpd/conf/httpd.conf或/etc/apache2/apache2.conf,不同系统略有差异)中的DocumentRoot指令来明确,例如DocumentRoot "/var/www/vhosts/mysite",那么/var/www/vhosts/mysite就是根目录。
  1. 创建验证文件存放目录:在确定的网站根目录下,创建.well-known/acme-challenge目录。由于目录名以 “.” 开头,在部分文件管理工具中可能默认隐藏,需开启 “显示隐藏文件” 功能才能看到。可通过以下命令在 Linux 服务器上创建(以/usr/share/nginx/html为例):
mkdir -p /usr/share/nginx/html/.well-known/acme-challenge

其中,mkdir -p表示若目录不存在则创建,并自动创建各级父目录,确保目录结构完整创建。

3. 创建验证文件并添加内容:在.well-known/acme-challenge目录下,创建与证书平台提供的文件名一致的文件(如abcdef123456.txt),并将平台提供的随机字符串内容完整粘贴进去,注意不要添加额外的空格、换行符等。

  • 通过 SSH 命令创建:使用echo命令结合重定向操作符 “>”,例如:  
echo "abc123xyz7890" > /usr/share/nginx/html/.well-known/acme-challenge/abcdef123456.txt
  • 通过 FTP 工具创建:使用 FileZilla 等 FTP 客户端连接服务器,找到对应的目录路径,右键新建文件,输入文件名后,双击打开文件,粘贴内容并保存。

三、验证文件可访问性

  1. 在浏览器中访问验证文件:在本地浏览器地址栏中输入验证文件的完整 URL,格式为http://你的域名/.well-known/acme-challenge/文件名,例如http://example.com/.well-known/acme-challenge/abcdef123456.txt。若文件路径、内容无误且服务器配置正确,浏览器会直接显示文件中的随机字符串内容,无任何多余的 HTML 标签、提示文字等。
  1. 排查访问失败问题
    • 文件路径错误:仔细核对文件路径的每一级目录及文件名,确保与证书平台提供的信息完全一致,包括大小写。若路径错误,需重新创建文件到正确路径。
    • 服务器权限问题:确保服务器对验证文件及所在目录设置了正确的权限,允许外部读取。例如在 Linux 服务器上,可通过chmod命令设置权限,使文件所有者、所属组及其他用户都有读取权限:
chmod 644 /usr/share/nginx/html/.well-known/acme-challenge/abcdef123456.txt
chmod 755 /usr/share/nginx/html/.well-known/acme-challenge
  • 服务器端口或防火墙问题:文件验证依赖 HTTP 协议(80 端口),若服务器防火墙拦截了 80 端口访问,需临时开放。例如在 Ubuntu 系统中,执行sudo ufw allow 80/tcp命令开放 80 端口;CentOS 系统可通过sudo firewall-cmd --add-port=80/tcp --permanent命令添加 80 端口允许规则,然后执行sudo firewall-cmd --reload使配置生效。

四、等待证书平台验证

完成上述步骤且确认文件可正常访问后,证书平台会自动在 1 - 5 分钟内发起验证请求。平台通过访问设置的 URL 来获取文件内容,与自身记录的验证信息比对,若内容匹配,则验证成功,证书申请流程继续推进;若验证失败,证书平台会提示 “文件验证失败” 等相关信息,此时需重新检查文件路径、内容、权限及服务器设置等,按上述步骤排查问题并修正后,再次等待验证。


 

  • 在线列表
    1589813

  • 在线提交