科学上网
283 字
1 分钟
科学上网
涉及到的知识点
- nginx 四层 stream tcp 代理;
- nginx 七层反向代理;
- certbot 自动获取免费 https 证书(必须要有自己的域名,通过 cloudflare api);
- xray 的 vision reality 方案;
部署完成后,网络请求数据流向如下
docker-compose.yml(基于3x-ui)
services: nginx: image: nginx:alpine container_name: nginx ports: - 80:8080 - 443:8443 volumes: - $HOME/docker-compose/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - $HOME/docker-compose/nginx/conf.d/:/etc/nginx/conf.d/:ro - $HOME/docker-compose/nginx/stream.d/:/etc/nginx/stream.d/:ro - $HOME/docker-compose/nginx/snippets/:/etc/nginx/snippets/:ro - $HOME/docker-compose/nginx/cert/:/etc/cert/:ro - $HOME/docker-compose/nginx/auth/:/etc/nginx/auth/:ro - $HOME/docker-compose/certbot/etc/letsencrypt/:/etc/letsencrypt/:ro - $HOME/data/nginx/logs/:/var/log/nginx/ - $HOME/docker-compose/nginx/ssl:/etc/nginx/ssl/:ro extra_hosts: - "host.docker.internal:host-gateway" depends_on: - xray deploy: resources: limits: memory: 64M restart: unless-stopped
xray: image: ghcr.io/mhsanaei/3x-ui:latest container_name: xray # hostname: yourhostname <- optional volumes: - $HOME/data/3xui/db/:/etc/x-ui/ - $HOME/data/3xui/cert/:/root/cert/ ports: - "2053:2053" environment: XRAY_VMESS_AEAD_FORCED: "false" XUI_ENABLE_FAIL2BAN: "true" tty: true restart: unless-stopped
certbot: image: certbot/dns-cloudflare container_name: certbot environment: - TZ=Asia/Shanghai volumes: - $HOME/docker-compose/certbot/etc/letsencrypt:/etc/letsencrypt - $HOME/data/certbot/var/lib/letsencrypt:/var/lib/letsencrypt - $HOME/data/certbot/var/log/letsencrypt:/var/log/letsencrypt - $HOME/docker-compose/certbot/cloudflare.ini:/etc/cloudflare.ini:ro profiles: - manualdocker-compose.yml(基于原生xray)
services: # 自动获取证书 certbot: image: certbot/dns-cloudflare container_name: certbot environment: - TZ=Asia/Shanghai volumes: - $HOME/docker-compose/certbot/etc/letsencrypt:/etc/letsencrypt - $HOME/data/certbot/var/lib/letsencrypt:/var/lib/letsencrypt command: >- certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini --dns-cloudflare-propagation-seconds 15 --email <your_email> --agree-tos --no-eff-email --force-renewal -d <your_domain> restart: unless-stopped
nginx: image: nginxinc/nginx-unprivileged container_name: nginx ports: - 80:8080 - 443:8443 volumes: - $HOME/docker-compose/nginx/nginx.conf:/etc/nginx/nginx.conf - $HOME/docker-compose/nginx/conf.d/:/etc/nginx/conf.d/ - $HOME/docker-compose/certbot/etc/letsencrypt/:/etc/letsencrypt/ - $HOME/data/nginx/logs/:/var/log/nginx/ extra_hosts: - "host.docker.internal:host-gateway" deploy: resources: limits: memory: 64M restart: unless-stopped
xray: image: teddysun/xray container_name: xray volumes: - $HOME/docker-compose/xray/:/etc/xray restart: unless-stoppedgeosite.dat 数据查看
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
我家当前的家庭网络部署:N5105 PVE、iKuai 与 iStoreOS 的分工
网络记录家中 N5105/PVE 网络设备的实际分工:iKuai 负责拨号、NAT 和默认出口,iStoreOS 负责旁路网关、Tailscale 接入以及部分终端的定向流量出口。
2
从一票海运入仓开始,梳理海外仓常见业务术语
业务用一批家具从宁波港发往洛杉矶海外仓的例子,串起 FCL、LCL、ETD、ETA、LFD、Demurrage、Detention 等常见术语。
3
团队多人协同维护项目时,如何统一管理 skill
AI把项目级 skill 当成依赖管理,解决团队成员使用不同版本和不同规则的问题。
4
重新认识 .gitignore:目录级规则与 .git/info/exclude
编程从目录级 .gitignore 的作用域、匹配优先级和常见陷阱出发,理解 Git 的忽略机制,并掌握 .git/info/exclude 的使用方法。
5
把 GitHub Action 抽成跨项目复用
服务器记录把飞书通知 Action 从单个项目迁移到共享 actions 仓库后的使用方式。
随机文章随机推荐












