我的目标是设置一个反向代理,通过SSL连接到哨兵中继服务器。从本质上讲,最终目标是通过哨兵中继将流量从设备转发到Sentry.io,而nginx服务器则是为了通过安全连接完成此通信。
我有以下docker-compose.yml
:
version: '3'
services:
nginx:
image: nginx:latest
container_name: nginx
volumes:
- nginx.conf:/etc/nginx/nginx.conf
- /etc/letsencrypt/:/etc/letsencrypt/
ports:
- 80:80
- 443:443
networks:
- relay-network
environment:
- ENV=production
- APPLICATION_URL=http://relay
relay:
image: getsentry/relay
container_name: relay
command: ["run", "--config", "/etc/relay/"]
volumes:
- config/:/etc/relay/
expose:
- "80"
networks:
- relay-network
networks:
relay-network:
通过nginx和中继日志,我可以看到我能够使用SSL连接连接到中继容器。然而,由于无效的项目ID,所有的哨兵查询都失败了--我知道这是不正确的,因为当我用相同的项目ID向真正的Sentry.io(不是通过我的代理)发送消息时,它可以工作。我的直觉是,哨兵中继服务器无法访问互联网来验证项目ID是否真实,因此它试图查找本地项目ID,而本地项目ID并不存在。
如何确保我的中继容器可以连接到Sent ry.io等外部网络?
1条答案
按热度按时间w7t8yxp51#
使用
docker exec -it relay bash
交互连接到您的中继容器,并尝试使用curl
ping某些内容或加载页面。如果您想自动执行此操作,可以使用healthcheck
。