首页 > 解决方案 > 通过 certbot 允许 https 访问多个端口

问题描述

我有谷歌计算引擎(GCE)和网络,通过节点监听端口 80 和 443。

我也有监听端口 8080 的 Jetty 服务器(Java)。

我想支持 HTTPS,所以我添加了 certbot 独立来管理它(certbot)。

现在我有了适用于网络的 HTTPS(端口 80 和 443)。

问题是我从网络发送到端口 8080 的所有请求都失败并出现错误: net::ERR_SSL_PROTOCOL_ERROR.

非常重要的是,在我添加 HTTPS 支持之前一切正常。

请帮忙解决。

标签: javahttpsjettygoogle-compute-engine

解决方案


你得到net::ERR_SSL_PROTOCOL_ERROR由于错误的 Jetty 服务器配置 - 它使用纯 HTTP 而不是 SSL 加密的 HTTPS 协议。

您需要配置您的 Jetty 服务器以使用您已经拥有(并使用)的证书。与配置 Web 服务器的过程类似。它必须“知道”证书文件的位置。

看看这个网站 - 它详细描述了如何做到这一点。

我找到了一个教程,可以帮助您使用 Let's Encrypt 为 HTTPS 配置 Jetty,并且它也在堆栈上进行了讨论(我相信这将最接近您的用例)。


推荐阅读