【发布时间】:2017-12-31 15:55:59
【问题描述】:
我正在使用 Golang 应用程序和 Caddy 作为 HTTP 服务器。 golang 应用程序拒绝每个 http 连接,它只能通过 HTTPS 使用。此应用程序是一种由其他应用程序使用的 API/服务。因为,它需要 HTTPS 我安装了 Caddy,所以我可以利用自动 SSL 证书并使用代理在端口之间切换。
应用程序在端口 9000 中运行,因此,消费者只会写入 mysite.com,并且 caddy 应该负责将请求重定向到端口 9000 但维护 HTTPS。该站点的caddy中的配置是:
mysite.com {
proxy / :9000 {
max_fails 1
}
log logfile
}
尽管如此,似乎在制作代理时 HTTPS 丢失了。我检查了应用程序的日志(没有球童的日志),我得到了这个:
http: TLS handshake error from xxx.xxx.xxx.xxx:xxxx: tls: oversized record received with length 21536
因此,基于此错误,在我看来,caddy 制作的 HTTP 代理正在丢失 HTTPS。我能做什么?
【问题讨论】:
-
要明确的是端口9000监听http还是https?
-
如果是听https,你应该试试
proxy / https://localhost:9000 -
@captncraig HTTPS。谢谢!