proxy_usage.md 3.6 KB

Linux代理程序使用指南

方案1:goproxy (推荐)

快速安装

# 下载并安装
wget https://github.com/snail007/goproxy/releases/download/v13.3/proxy-linux-amd64.tar.gz
tar -xzf proxy-linux-amd64.tar.gz
sudo mv proxy /usr/local/bin/
sudo chmod +x /usr/local/bin/proxy

基础使用

# 启动代理服务
proxy http -t tcp -p "0.0.0.0:80" --forever

# 带内容替换的代理
proxy http -t tcp -p "0.0.0.0:80" --forever \
  --replace "andys-dandy-site-4c8fd6.webflow.io" "pog.cxhy.cn"

后台运行

# 使用nohup
nohup proxy http -t tcp -p "0.0.0.0:80" --forever > proxy.log 2>&1 &

# 使用screen
screen -S proxy
proxy http -t tcp -p "0.0.0.0:80" --forever
# Ctrl+A+D 退出screen

方案2:mitmproxy

安装

wget https://snapshots.mitmproxy.org/9.0.1/mitmproxy-9.0.1-linux.tar.gz
tar -xzf mitmproxy-9.0.1-linux.tar.gz
sudo mv mitmproxy /usr/local/bin/

使用

# 基础代理
mitmproxy -p 8080

# 透明代理
mitmproxy --mode transparent -p 8080

方案3:使用Docker (最简单)

创建docker-compose.yml

version: '3'
services:
  proxy:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always

创建nginx.conf

events {
    worker_connections 1024;
}

http {
    upstream backend {
        server andys-dandy-site-4c8fd6.webflow.io:443;
    }

    server {
        listen 80;
        server_name pog.cxhy.cn;

        location / {
            proxy_pass https://backend;
            proxy_set_header Host andys-dandy-site-4c8fd6.webflow.io;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            
            sub_filter 'andys-dandy-site-4c8fd6.webflow.io' 'pog.cxhy.cn';
            sub_filter_once off;
        }
    }
}

启动

docker-compose up -d

方案4:一键安装脚本

使用自动安装脚本

# 下载脚本
wget https://raw.githubusercontent.com/your-repo/setup_proxy.sh
chmod +x setup_proxy.sh
sudo ./setup_proxy.sh

常见问题解决

1. 端口被占用

# 查看端口占用
netstat -tlnp | grep :80

# 杀死占用进程
sudo kill -9 <PID>

2. 权限问题

# 给执行权限
sudo chmod +x /usr/local/bin/proxy

# 检查防火墙
sudo ufw status
sudo ufw allow 80

3. 服务无法启动

# 查看日志
sudo journalctl -u goproxy -f

# 手动测试
proxy http -t tcp -p "0.0.0.0:80" --forever

监控和管理

查看服务状态

# 检查进程
ps aux | grep proxy

# 查看端口
netstat -tlnp | grep :80

# 查看日志
tail -f proxy.log

停止服务

# 停止goproxy
sudo systemctl stop goproxy

# 或者杀死进程
pkill -f proxy

性能优化

1. 添加缓存

proxy http -t tcp -p "0.0.0.0:80" --forever --cache

2. 限制连接数

proxy http -t tcp -p "0.0.0.0:80" --forever --max-conn 1000

3. 启用压缩

proxy http -t tcp -p "0.0.0.0:80" --forever --gzip

安全建议

  1. 使用非root用户运行
  2. 配置防火墙规则
  3. 定期更新程序版本
  4. 监控访问日志
  5. 备份配置文件

故障排除

检查网络连接

# 测试目标网站
curl -I https://andys-dandy-site-4c8fd6.webflow.io

# 测试代理
curl -I http://pog.cxhy.cn

查看详细日志

# 启用调试模式
proxy http -t tcp -p "0.0.0.0:80" --forever --debug