win-acme申请https证书会报80端口占用错误,目前80端口是nginx在用,怎么解决?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
![]() ![]() 检查配置文件中80端口的server块,如果server块监听了80端口并拦截了所有未明确匹配的域名(server_name _),会导致win-acme的HTTP-01验证请求被拒绝(返回444),需为证书验证路径开放特殊权限。 解决方法: (1)为.well-known/acme-challenge开放访问权限 在Nginx配置的http块或特定server块中添加以下规则,允许Let's Encrypt的验证请求通过: # 通用规则:允许所有域名的ACME验证请求 server { listen 80; server_name _; location ^~ /.well-known/acme-challenge/ { root "C:/test"; # 替换为实际存放验证文件的目录 default_type "text/plain"; } # 其他非法请求仍返回444 location / { return 444; } } (2)域名级精细化控制(推荐) 若需严格限制域名,可在每个需申请证书的域名server块中单独配置: server { listen 80; server_name example.com; # 示例域名 location ^~ /.well-known/acme-challenge/ { root "C:/test"; default_type "text/plain"; } # 其他代理规则保持不变
} (3)验证目录文件可访问 在root的位置创建目录/.well-known/acme-challenge/,放一张图片或js文件,打开浏览器使用域名访问此文件,如果能访问说明正常,不能访问则要检查文件路径、文件夹权限等。 命令行执行命令创建文件夹: mkdir "C:\test\.well-known\acme-challenge" 文件夹权限设置:右键点击html文件夹 → 属性 → 安全 → 添加IIS_IUSRS或NETWORK SERVICE用户(根据Nginx运行身份),赋予修改权限。 该文章在 2025/9/2 8:47:09 编辑过 |
关键字查询
相关文章
正在查询... |