云服务器代理搭建:安全转发全攻略

互联网资讯

云服务器代理搭建:安全转发全攻略

2026-07-31 08:23


介绍云服务器用 Squid 和 Nginx 搭建代理及安全配置

云服务器搭建代理

在云服务器上搭建代理,通常是为了实现内部系统访问、业务接口转发、安全测试、远程办公访问,或为多个应用提供统一的出口入口。代理分为正向代理反向代理:正向代理代表客户端访问外部资源,反向代理则把外部请求转发到后端服务。下面以常见的云服务器为例,介绍一种较稳妥的搭建思路。

一、准备工作

你需要准备:

  • 一台云服务器,例如 Ubuntu、Debian、CentOS 等系统;
  • 服务器公网 IP;
  • SSH 登录权限;
  • 域名,可选;
  • 防火墙或安全组管理能力。

建议先创建普通用户,不要长期直接使用 root 操作:

adduser proxyadmin
usermod -aG sudo proxyadmin

然后登录普通用户,并开启防火墙:

sudo ufw allow OpenSSH
sudo ufw enable

二、使用 Squid 搭建正向代理

Squid 是常见的代理软件,适合搭建受控的正向代理。安装 Squid:

sudo apt update
sudo apt install squid

编辑配置文件:

sudo nano /etc/squid/squid.conf

可以添加或修改如下内容:

http_port 3128

# 只允许指定 IP 使用代理
acl myip src 你的本机公网IP/32
http_access allow myip

# 禁止其他地址访问
http_access deny all

# 隐藏部分客户端信息
forwarded_for delete
request_header_access X-Forwarded-For deny all

保存后重启服务:

sudo systemctl restart squid
sudo systemctl enable squid

如果云服务器有安全组,还需要放行 3128 端口,但建议只允许自己的 IP 访问,不要开放给所有人。

三、添加账号密码认证

为了提升安全性,可以配置账号密码认证。先安装工具:

sudo apt install apache2-utils

创建密码文件:

sudo htpasswd -c /etc/squid/passwd proxyuser

然后输入并确认密码。

在 Squid 配置文件中加入:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
acl auth_users proxy_auth REQUIRED
http_access allow auth_users myip
http_access deny all

重启 Squid:

sudo systemctl restart squid

测试代理是否可用:

curl -x http://proxyuser:你的密码@服务器IP:3128 https://example.com

如果返回网页内容,说明代理已经可以正常使用。

四、客户端配置方法

在浏览器、系统网络设置或软件代理设置中填写:

  • 代理类型:HTTP 或 HTTPS;
  • 代理地址:服务器公网 IP;
  • 端口:3128
  • 用户名:proxyuser
  • 密码:你设置的密码。

配置完成后,客户端请求会经过云服务器转发。

五、使用 Nginx 搭建反向代理

如果你的目标是把域名请求转发到后端应用,例如 127.0.0.1:8080,可以使用 Nginx。

安装 Nginx:

sudo apt install nginx

创建站点配置:

sudo nano /etc/nginx/sites-available/app

示例配置:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        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;
    }
}

启用配置并重启:

sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

这样访问域名时,请求会被转发到后端服务。

六、安全建议

搭建代理时,安全配置非常重要:

  1. 不要开放成公共代理
    公共代理容易被滥用,可能导致服务器被封禁或产生异常流量。

  2. 限制访问来源
    在 Squid 中只允许指定 IP 访问,在安全组中也应设置白名单。

  3. 使用账号密码认证
    即使端口暴露,也应开启认证,避免未授权访问。

  4. 开启日志监控
    定期检查访问日志,发现异常请求应及时处理。

  5. 配合防火墙和 Fail2Ban
    可以减少暴力破解和恶意扫描风险。

  6. 合理设置带宽和连接数
    避免代理被滥用后消耗过多资源。

总结

云服务器搭建代理可以根据需求选择不同方案:如果需要客户端通过服务器访问外部资源,可以使用 Squid 搭建正向代理;如果目的是把域名请求转发到后端应用,可以使用 Nginx 搭建反向代理。无论哪种方式,都应重点做好访问限制、账号认证、防火墙配置和日志监控,确保代理服务稳定、安全、合规地使用。


标签: 云服务器 代理搭建 安全配置