Certbot 未经授权和连接错误

Certbot 未经授权和连接错误

我在 Google Cloud、CentOS 7 上有一个 Spring Boot 应用程序。我希望通过 Let's Encrypt 和 Certbot 安装 SSL 证书。当我使用certbot --apache -d mydomain.zone命令时,我收到一个错误:

在此处输入图片描述

我的域名在 Namecheap 上注册。我在 Google Cloud 上的 A 记录:

在此处输入图片描述

另外,我在 Namecheap 中提供了 Google 云名称服务器,如本教程中所述:https://www.wpmentor.com/setup-domain-google-cloud-platform/

在此处输入图片描述

你能告诉我问题出在哪里吗?我还想知道应用程序中的 Java 代码是否存在问题。例如,有时在访问索引页时,会调用 error_page。当我的控制器中有一个方法时:

@RequestMapping(value = "/error_page", method = RequestMethod.GET)
public String homeError(Model model)
{
  return "/error_page";
}

我遇到了不同的 certvbot 错误:

在此处输入图片描述

但是当我评论/删除错误页面的控制器方法时,我收到此错误:

在此处输入图片描述

这可能是应用程序错误吗?或者是 Apache 的问题?

我尝试关闭 Tomcat。现在收到此错误:

在此处输入图片描述

注意:我的 Apache 转发到 8080,我不知道这会产生什么问题?

iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port  8080

答案1

Let's Encrypt 正在尝试通过启动临时 Web 服务器并让 Let's Encrypt 服务器尝试联系它来验证您对该服务器的所有权。

您需要:

  1. 禁用所有当前正在运行的 Web 服务器

  2. 确保端口 80 可从互联网访问

您已经通过停止 Apache 完成了步骤 1,现在您需要修复您的iptables规则。

看起来您正在将流量从端口 80 转发到端口 8080,这很可能是您收到错误的原因Connection refused,因为临时 Web 服务器的流量被黑洞到端口 8080。禁用/修复该规则,验证应该会成功。

相关内容