1.
概述与准备
- 说明:本文针对在台湾租用带高防功能的VPS并部署虚拟主机的实操步骤。
- 前提:已在服务商(如台湾/国际云商)购买VPS并开启高防(Scrubbing/Proxy/清洗)服务,拿到控制面板、公网IP、管理账号和防护面板帐号。
2.
选择配置与购买建议
- 步骤1:根据业务选择CPU/内存/带宽以及峰值清洗能力(例如日常5–50Mbps、攻击峰值100Mbps+),优先选择提供清洗报表与回溯IP段的供应商。
- 步骤2:确认是否支持端口转发、透明代理或清洗后回源的真实客户端IP(必要时支持X-Forwarded-For或Real-IP头)。
3.
获取并验证初始信息
- 步骤:登录控制面板,记录VPS管理IP、SSH端口(默认22)、root密码或公钥字段、控制面板登录URL。
- 验证:通过SSH尝试连接:ssh root@your_ip;若无法连接,检查面板防火墙或高防策略是否拦截管理端口,使用控制台或VNC登录。
4.
首次登录与基础安全硬化
- 步骤1:更新系统:apt update && apt upgrade -y(Debian/Ubuntu)。
- 步骤2:创建非root用户并加入sudo:adduser deployuser; usermod -aG sudo deployuser。
- 步骤3:设置SSH密钥登录:在本地生成ssh-keygen,复制公钥到~/.ssh/authorized_keys;禁用密码登录:编辑/etc/ssh/sshd_config,PermitRootLogin no, PasswordAuthentication no, 更改Port为非标准端口(如2222),重启ssh:systemctl restart sshd。
5.
防火墙与访问控制 (ufw/iptables)
- 建议使用ufw快速配置:apt install ufw -y;ufw default deny incoming; ufw default allow outgoing; ufw allow 2222/tcp; ufw allow 80,443/tcp; ufw enable。
- 若需更细节规则,使用iptables/nftables;示例iptables保存命令:iptables -A INPUT -p tcp --dport 2222 -m conntrack --ctstate NEW -j ACCEPT; iptables-save > /etc/iptables.rules,并在启动脚本中加载。
6.
安装Web环境(Nginx + PHP)
- 安装:apt install nginx php-fpm -y。启动并设置开机:systemctl enable --now nginx php7.4-fpm(按版本替换)。
- 检查:ss -tlnp | grep nginx 确认监听端口。将Nginx配置文件放到 /etc/nginx/sites-available/yourdomain.conf并链接到 sites-enabled。
7.
Nginx 高防虚拟主机模板(示例)
- 模板(放于 /etc/nginx/sites-available/example.com):
server {
listen 80; listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/html; index index.php index.html;
# 如果高防为反向代理,添加真实IP设置(请替换为供应商回源IP段)
set_real_ip_from 203.0.113.0/24; # 供应商提供的代理IP段
real_ip_header X-Forwarded-For;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; }
access_log /var/log/nginx/example.access.log; error_log /var/log/nginx/example.error.log; }
- 操作:ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ && nginx -t && systemctl reload nginx。
8.
开启SSL(Let’s Encrypt)并自动续期
- 安装certbot:apt install certbot python3-certbot-nginx -y。
- 获取证书(HTTP验证):certbot --nginx -d example.com -d www.example.com,按提示完成,后续会自动配置80到443跳转。
- 检查续期:certbot renew --dry-run,并在crontab每月检测。
9.
内核与网络优化(系统层)
- 编辑 /etc/sysctl.conf 添加:
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65000
- 应用:sysctl -p。对高并发网站同时优化worker_connections、keepalive_timeout(Nginx)等。
10.
防护增强:Fail2ban、限速与黑名单
- 安装Fail2ban:apt install fail2ban -y,创建 /etc/fail2ban/jail.local,启用ssh和nginx-http-auth规则。
- Nginx层限速(示例):在http段加入 limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;在server或location中使用 limit_req zone=one burst=20 nodelay;配合 limit_conn 限制并发。
11.
监控、备份与运维建议
- 监控:部署Prometheus+Grafana或使用第三方监控(Datadog/Zabbix),至少监控CPU、内存、磁盘、带宽和nginx QPS。
- 备份:配置定期数据库与站点文件备份到外部对象存储或另一个区域的快照,测试回滚流程。
12.
应对高防回源与真实IP处理注意事项
- 要点:确认高防是否改变源IP,若是需在Nginx中正确设置 real_ip 和 X-Forwarded-For,且只信任供应商回源IP段,避免伪造。
- 操作:向供应商索取回源IP段并写入 set_real_ip_from 条目,reload nginx 并查看 access_log 中的真实IP。
13.
问:台湾VPS高防能防住多少流量?
- 答:防护能力由供应商套餐决定,常见为几十Mbps到数Gbps不等。建议在购买前确认清洗峰值、清洗算法(是否支持SYN/UDP/HTTP Flood)、是否提供按峰值计费与溯源日志。
14.
问:如何最快把网站从本地上线到台湾VPS?
- 答:步骤:1) 在VPS上按本文步骤安装Nginx/PHP/数据库;2) 上传网站文件(rsync/scp);3) 配置Nginx虚拟主机并测试;4) 申请Let’s Encrypt证书;5) 在DNS面板把域名A记录指向高防或VPS回源IP并生效。
15.
问:若遭遇大规模攻击怎处理?
- 答:立即联络供应商启用更高等级清洗/切换到Scrubbing中心,封锁攻击源IP段(临时黑洞或rate-limit),启用更严格的WAF规则,必要时切换流量到备用节点并按事后分析调整防护规则。
来源:台湾vps租用高防虚拟主机常见配置模板与部署快速上手指南