我在 Google Cloud CentOS 7 上有一个 Spring Boot 应用程序。我希望通过 Let's Encrypt 和 Certbot 安装 SSL 证书。当我使用certbot --apache -d mydomain.zone
命令时,我收到一个错误:
我的域名在 Namecheap 上注册。我在 Google Cloud 上的 A 记录:
我还像本教程一样在 Namecheap 中提供了谷歌云名称服务器: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
Let's Encrypt 正在尝试通过启动一个临时 Web 服务器并让 Let's Encrypt 服务器尝试与其联系来验证您对服务器的所有权。
您将需要:
禁用任何当前正在运行的 Web 服务器
确保可以从 Internet 访问端口 80
您已经通过停止 Apache 完成了第 1 步,现在您需要修复您的
iptables
规则。看起来您正在将流量从端口 80 转发到端口 8080,这很可能是您收到
Connection refused
错误的原因,因为临时 Web 服务器的流量正在进入端口 8080。禁用/修复该规则并且验证应该成功。