云服务器代理搭建:安全转发全攻略
云服务器代理搭建:安全转发全攻略
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
这样访问域名时,请求会被转发到后端服务。
六、安全建议
搭建代理时,安全配置非常重要:
-
不要开放成公共代理
公共代理容易被滥用,可能导致服务器被封禁或产生异常流量。 -
限制访问来源
在 Squid 中只允许指定 IP 访问,在安全组中也应设置白名单。 -
使用账号密码认证
即使端口暴露,也应开启认证,避免未授权访问。 -
开启日志监控
定期检查访问日志,发现异常请求应及时处理。 -
配合防火墙和 Fail2Ban
可以减少暴力破解和恶意扫描风险。 -
合理设置带宽和连接数
避免代理被滥用后消耗过多资源。
总结
云服务器搭建代理可以根据需求选择不同方案:如果需要客户端通过服务器访问外部资源,可以使用 Squid 搭建正向代理;如果目的是把域名请求转发到后端应用,可以使用 Nginx 搭建反向代理。无论哪种方式,都应重点做好访问限制、账号认证、防火墙配置和日志监控,确保代理服务稳定、安全、合规地使用。