我已成功设置以下容器:
- 突触:
- Matrix聊天服务器
- 不暴露于外部网
- 英金思
- 反向代理
- 允许外部连接连接到synapse的客户端API
- 阻止外部连接到synapse的admin API
- 电线保护装置:
- 虚拟专用网
- 我连接到VPN以访问Synapse的管理API
- API可通过
http://synapse:8008/
访问
问题是,当连接到VPN时,我无法通过其域名连接到反向代理。
- 从VPN断开连接后,
https://example.tld
成功连接到反向代理 - 连接到VPN时,
https://example.tld
无限期挂起 - 在主机上运行
curl https://example.tld
可以正常工作,但在容器中不能正常工作
我希望能够从域名同时访问管理API和我的NGINX反向代理。我并不总是连接到VPN,所以我希望我的Matrix聊天客户端无论是否连接到VPN都能无缝工作。我还有其他独立的服务在反向代理后面运行,我无法连接。
docker-compose.yml:
version: "3.8"
services:
synapse:
image: docker.io/matrixdotorg/synapse:latest
...
nginx:
image: nginx:mainline-alpine
restart: unless-stopped
volumes:
- ./www:/var/www
- ./nginx:/etc/nginx
ports:
- mode: host
protocol: tcp
published: 80
target: 80
- mode: host
protocol: tcp
published: 443
target: 443
wireguard:
image: docker.io/linuxserver/wireguard
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=America/Los_Angeles
- PEERS=1
volumes:
- ./config:/config
- /usr/src:/usr/src
- /lib/modules:/lib/modules
ports:
- "51820:51820"
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
我让NGINX容器在主机模式下运行,以便正确记录IP地址
1条答案
按热度按时间42fyovps1#
通过排除WireGuard客户端中的任何Matrix客户端应用程序,分割隧道VPN可以正常工作,但也有一些缺点: