使用正向 HTTPS 代理代替 /etc/hosts


1. 運行 NGINX 作為正向 HTTPS 代理

  • 創建文件 nginx.conf
daemon off;
worker_processes auto;
worker_rlimit_nofile 65535;

events {
  multi_accept on;
  worker_connections 65535;
}

http {
  charset utf-8;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  server_tokens off;
  log_not_found off;
  types_hash_max_size 2048;
  types_hash_bucket_size 64;
  client_max_body_size 16M;

  # MIME
  include mime.types;
  default_type application/octet-stream;

  # Logging
  access_log /dev/stdout;
  error_log /dev/stdout warn;

  # DNS
  resolver 223.5.5.5 223.6.6.6;
  resolver_timeout 2s;

  # Proxy
  proxy_connect_timeout 10s;
  proxy_send_timeout 10s;
  proxy_read_timeout 10s;
  proxy_buffer_size 4k;
  proxy_buffers 4 32k;
  proxy_busy_buffers_size 64k;
  proxy_temp_file_write_size 64k;

  server {
    listen 8888;
    server_name <TODO-DOMAIN>;

    # forward proxy for CONNECT request
    proxy_connect;
    proxy_connect_address <TODO-IP>;
    proxy_connect_connect_timeout 10s;
    proxy_connect_read_timeout 10s;
    proxy_connect_send_timeout 10s;

    # forward proxy for non-CONNECT request
    location / {
      return 500;
    }
  }

  server {
    listen 8888;
    server_name ~.+;

    location / {
      return 404;
    }
  }
}

注意:需要將 <TODO-DOMAIN><TODO-IP> 替換為原 /etc/hosts 文件中對應的域名和IP地址,可以(按需復制)包含多個 server 配置塊。

  • 創建 docker-compose.yaml
version: "3"
services:
  nginx_proxy:
    image: reiz/nginx_proxy
    volumes:
    - ./nginx.conf:/usr/local/nginx/conf/nginx.conf:ro
    ports:
    - 8888:8888
    restart: unless-stopped

注意:這里暴露服務到本地端口 8888

  • 后台運行 NGINX(正向 HTTPS 代理)
 docker-compose up -d

2. Chrome/Edge 瀏覽器配置 Proxy SwitchyOmega 插件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM