1. 选择与购买香港服务器(VPS/独服)
- 步骤1:选供应商(如阿里云国际、腾讯云香港、Vultr、Linode、DigitalOcean、香港本地IDC等),比对带宽、CPU、内存、流量、IP数与是否支持IPv6。
- 步骤2:选择操作系统(推荐Ubuntu 20.04/22.04或Debian 11),购买时选择合适机房(香港)与计费方式(月付或年付)。
- 步骤3:完成实名认证与付款,记录分配到的公网IP、登录方式(root密码或SSH密钥)与控制面板信息。
2. 第一次登录服务器与基础系统准备
- 使用SSH连接:ssh root@服务器IP(Windows可用PuTTY或Windows Terminal)。
- 更新系统:sudo apt update && sudo apt upgrade -y。
- 建议添加非root账号:adduser youruser; usermod -aG sudo youruser。并配置SSH密钥登录(在本地生成ssh-keygen)并把公钥放到~/.ssh/authorized_keys。
3. 安装并配置Web服务器(以Nginx为例)
- 安装:sudo apt install nginx -y。
- 启动并设置开机自启:sudo systemctl enable --now nginx。
- 创建网站目录:sudo mkdir -p /var/www/yourdomain.com/html && sudo chown -R $USER:$USER /var/www/yourdomain.com/html && sudo chmod -R 755 /var/www/yourdomain.com
4. 配置Nginx站点(server block)并测试
- 编辑配置文件 /etc/nginx/sites-available/yourdomain.com,示例内容:server { listen 80; server_name yourdomain.com www.yourdomain.com; root /var/www/yourdomain.com/html; index index.html index.php; location / { try_files $uri $uri/ =404; } }。
- 启用站点:sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/。
- 测试配置并重载:sudo nginx -t && sudo systemctl reload nginx。然后在服务器上放一个index.html来验证HTTP访问。
5. 在域名服务商处添加DNS解析记录
- 登录域名控制面板,添加A记录:主机记录 @ 指向 服务器公网IPv4地址;添加www的CNAME指向 @ 或再添加A记录指向同IP。
- 如有IPv6,添加AAAA记录指向IPv6地址。
- 若需要做反向解析(PTR),在云厂商控制面板申请绑定或向IDC提交工单。等待DNS生效(通常几分钟到24小时)。
6. 使用Let's Encrypt申请免费SSL(certbot)并自动配置Nginx
- 安装certbot与Nginx插件:sudo apt install certbot python3-certbot-nginx -y。
- 执行并自动配置:sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com,按提示填写邮箱并同意条款。
- 测试HTTPS访问,certbot默认会设置自动续期(systemd timer),可手动测试:sudo certbot renew --dry-run。
7. 基础安全加固与备份建议
- 防火墙:sudo ufw allow OpenSSH; sudo ufw allow 'Nginx Full'; sudo ufw enable。
- 安装fail2ban:sudo apt install fail2ban -y,配置 /etc/fail2ban/jail.local 保护SSH与Nginx 登录尝试。
- 定期备份网站目录与数据库(mysqldump或使用托管备份),并保存在远端或对象存储。
8. 问:申请SSL过程中常见的验证失败怎么解决?(问)
8.1 答:常见原因与解决办法(答)
- 1) DNS未生效:确认A/AAAA记录已经在公网可解析(使用dig yourdomain.com)。等待TTL。
- 2) 端口被阻止:确保服务器80和443端口对外开放(检查云安全组与UFW规则)。
- 3) 网站根目录指向错误:Nginx server_name或root设置错误会导致验证失败,检查nginx配置并重载。
9. 问:是否必须使用Let's Encrypt?可以用付费证书吗?(问)
9.1 答:选择与区别(答)
- Let's Encrypt适合大多数网站,免费且自动续期;但不提供商业担保或高级验证。
- 付费证书(OV/EV)适合需要企业验证或浏览器信任页签强化的场景,购买后按供应商步骤生成CSR并安装到Nginx(配置ssl_certificate/ssl_certificate_key)。
10. 问:如何保证证书长期可用与定位故障?(问)
10.1 答:运维要点(答)
- 监控到期:虽然certbot自动续期,仍建议监控到期时间(openssl s_client -connect yourdomain.com:443 -servername yourdomain.com | openssl x509 -noout -dates)。
- 日志排查:查看 /var/log/letsencrypt/ 和 nginx error.log 定位问题;用curl -I https://yourdomain.com 测试响应链。
- 若证书续签失败,先检查网络、DNS与端口,再手动执行 certbot renew --dry-run 并阅读错误输出。
来源:租一个香港服务器并配置域名与安全证书的完整流程