正式系统无法访问外网,测试系统可以访问外网。正式系统的一个SDK需要向外网发送HTTP请求,考虑使用sni 代理。
软件
gost 参考文档
部署
- 能联网的测试机使用docker compose部署(设置xxx.com的sni代理白名单,xxx.com前面的~表示白名单,不加~表示黑名单)
services:
gost:
image: gogost/gost
container_name: gost
ports:
- "80:80"
command: -L sni://:80?bypass=~xxx.com
restart: unless-stopped
- 不能联网的正式机配置/etc/hosts
测试机ip xxx.com
我的后端是容器部署的,然后给容器配置/etc/hosts文件映射就可以了
注意
不能在构建docker image时候修改hosts,只能在容器运行时进行映射或者修改。因为构建阶段/etc/hosts是只读的。image是许多只读layer的叠加,而容器是只读layer和可读layer的叠加