1.
准备一台香港机房的VPS(建议至少1CPU、1GB内存),确保支持你需要的端口(80、443)。
准备SSH密钥对,本地machine安装ssh客户端;准备域名并能操作DNS(用于Let's Encrypt或DNS验证)。
2.
使用Ubuntu 22.04或Debian 11,首次登录后立刻更新:sudo apt update && sudo apt upgrade -y。
创建非root用户并授予sudo:adduser user && usermod -aG sudo user;复制公钥到~/.ssh/authorized_keys,关闭密码登录。
3.
启用UFW只放行必需端口:sudo ufw allow 22/tcp; sudo ufw allow 80,443/tcp; sudo ufw enable。
安装fail2ban:sudo apt install fail2ban,启用SSH保护并根据日志调整ban策略。
4.
安装Nginx:sudo apt install nginx -y,启动并设置开机自启:sudo systemctl enable --now nginx。
测试:在浏览器访问服务器IP,确认Nginx欢迎页面显示。
5.
在域名管理面板添加A记录指向VPS公网IP,等待生效(通常几分钟到1小时)。
若使用子域或泛域名,准备好对应的A/AAAA或使用CNAME按需求配置。
6.
安装Certbot:sudo apt install certbot python3-certbot-nginx -y,然后使用certbot --nginx -d example.com -d www.example.com,按提示完成HTTP-01验证。
确认证书自动续期:sudo systemctl status certbot.timer,或测试续期:sudo certbot renew --dry-run。
7.
在server块中启用TLS 1.2/1.3:ssl_protocols TLSv1.2 TLSv1.3; 使用Modern加密套件并启用OCSP stapling和HSTS。
示例:ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:...'; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
8.
配置keepalive、worker_processes自动、开启gzip压缩并设置合理的缓存头,提高握手与传输效率。
在Nginx中调整:worker_connections 1024; keepalive_timeout 65; gzip on; proxy_buffering off(根据实际应用调整)。
9.
安装监控工具(如Netdata或Prometheus+Grafana)监控CPU、内存、网络与Nginx连接数;配置报警(邮件或Telegram)。
设置日志轮转:确认logrotate对/var/log/nginx生效;定期做系统快照与数据库/网站文件的增量备份(使用rsync + cron或云厂商快照)。
10.
问:日常应该检查哪些项以保证握手服务器稳定?

答:检查证书有效期、Nginx服务状态、系统负载、磁盘与日志占用、异常连接(SYN flood)与安全报警;每周核对备份可恢复性。
11.
问:如果浏览器提示“SSL/TLS握手失败”怎么排查?
答:先查看证书是否过期(sudo certbot certificates),检查Nginx配置(nginx -t),确认端口443已开放与防火墙规则,查看/var/log/nginx/error.log和系统dmesg获取错误线索。
12.
问:在香港机房部署还有哪些安全或合规注意事项?
答:遵守当地法律与服务条款;对外暴露最小权限服务,及时打补丁;考虑DDoS防护与流量清洗服务,敏感数据加密存储并定期做安全扫描。