使用sni 代理解决服务器无法直接联网的问题
正式系统无法访问外网,测试系统可以访问外网。正式系统的一个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的叠加