正式系统无法访问外网,测试系统可以访问外网。正式系统的一个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的叠加