我正在使用Golang应用程序和作为HTTP服务器的凯蒂。戈朗应用程序拒绝所有的http连接,它只能在HTTPS上使用。这个应用程序是其他应用程序使用的一种API/服务。因为它需要HTTPS,所以我安装了Caddy,这样我就可以利用自动SSL证书并使用代理在端口之间切换。
应用程序在端口9000中运行,因此,使用者只会写mysite.com
,而caddy应该负责将请求重定向到端口9000,但维护HTTPS。站点的caddy配置是:
mysite.com {
proxy / :9000 {
max_fails 1
}
log logfile
}
然而,似乎当代理被制造时,HTTPS就丢失了。我检查了应用程序的日志(不是caddy的日志),得到如下结果:
http: TLS handshake error from xxx.xxx.xxx.xxx:xxxx: tls: oversized record received with length 21536
因此,基于这个错误,在我看来,由caddy制造的HTTP代理正在丢失HTTPS。我能做什么?
发布于 2017-07-25 15:52:29
来自卡迪博士
to 是要代理到的目标端点。至少需要一个,但可以指定多个。如果未指定方案( http /https),则使用http。Unix套接字也可以通过前缀"unix:“来使用。
因此,可能是将http请求发送到被代理的https端点。
有吗?
mysite.com {
proxy / https://localhost:9000 {
max_fails 1
}
log logfile
}
修好它?
如果是这样的话,您可能不需要严格地使用您的应用程序on :9000来收听https。它可以简化您的部署或证书管理,只让它侦听http并让caddy管理所有证书。
https://stackoverflow.com/questions/45308108
复制相似问题