Sentry Relay TLS配置异常:HTTPS端口3001无法发送事件
问题描述
我为Sentry Relay配置了TLS相关参数,HTTP端口3000可通过sentry-cli正常发送测试事件,但HTTPS端口3001无法发送。证书通过openssl生成,Docker启动命令已映射端口,日志显示3001端口已监听,请求排查问题原因。
配置文件
relay: mode: static upstream: "https://sentry.io/" host: 0.0.0.0 port: 3000 tls_port: 3001 tls_identity_path: /etc/cert/keyStore.p12 tls_identity_password: xxx
HTTP测试命令
export SENTRY_DSN="http://nfvu4830bvfu3iuujfnvb3809@domain:3000/43275240" sentry-cli send-event -m "test event"
HTTPS测试命令
export SENTRY_DSN="https://nfvu4830bvfu3iuujfnvb3809@domain:3001/43275240" sentry-cli send-event -m "secure test event"
证书生成命令
openssl req -x509 -newkey rsa:4096 -keyout myKey.pem -out cert.pem -days 365 openssl pkcs12 -export -out keyStore.p12 -inkey myKey.pem -in cert.pem
Docker启动命令
sudo docker run --rm -d \ -v $(pwd)/config/:/etc/relay/ \ -v $(pwd)/cert/:/etc/cert/ \ -p 3000:3000 \ -p 3001:3001 \ getsentry/relay run --config /etc/relay/
日志信息
INFO relay_server::service > spawning http server INFO relay_server::service > listening on: http://0.0.0.0:3000/ INFO relay_server::service > listening on: https://0.0.0.0:3001/ INFO actix_net::server::server > Starting 2 workers INFO actix_net::server::server > Starting server on 0.0.0.0:3000 INFO actix_net::server::server > Starting server on 0.0.0.0:3001
排查方向
- 证书信任问题:自签证书未被sentry-cli信任,测试时可添加
--insecure参数跳过验证:sentry-cli send-event -m "secure test event" --insecure。若成功发送,说明需将自签证书添加到系统信任存储或sentry-cli信任列表。 - 证书域名匹配问题:检查生成证书时填写的Common Name(CN)或Subject Alternative Name(SAN)是否与DSN中的
domain一致。用命令openssl x509 -in cert.pem -text -noout查看证书信息,确认域名匹配。 - PKCS12文件权限:Docker容器内
/etc/cert/keyStore.p12文件权限是否允许Relay进程读取。进入容器执行ls -l /etc/cert/keyStore.p12检查,若权限不足,调整宿主机证书文件权限或在Docker启动命令中指定有权限的用户。 - 端口连通性验证:在宿主机执行
curl -v https://domain:3001/health,根据返回的错误信息判断是证书问题还是连接问题。 - TLS配置完整性:确认Relay的TLS配置是否齐全,比如是否需要额外配置CA证书路径(若有依赖),核对配置项是否符合官方要求。
内容的提问来源于stack exchange,提问作者Josh K
相关产品推荐
相关产品推荐

