背景
最近为了扛 DDoS 攻击,从移动公司申请了一台服务器,移动公司免费提供流量清洗功能。但由于没有备案,移动公司不允许开通 80 端口。
目标
为了尽快启用这台担负着负载均衡和反向代理(其实没有负载均衡)的服务器,我计划使用 https 协议,利用 443 端口从而避开 80 端口为客户提供正常服务。同时通过使用 https 协议,使得网站访问更加安全。
步骤
选择证书颁发机构
有很多证书颁发机构,以前也使用过 StartSSL 的证书,但后来被中国的企业收购了,因此直接排除。当前免费又火的证书颁发机构当属 Let's encrypt 了,因此本次我也采用该机构的证书。
设置正常的访问规则和安全规则
- 设置应用服务器;
- 设置反向代理服务器;
- 设置域名解析;
设置应用服务器
- 将所有应用都配置好;
- 通过 PM2 统一的配置文件运行所有应用;
- 应用服务器防火墙开放 8000 ~ 8999 区间的端口;
- 设置安全组。入方向只允许所有 IP 地址访问 22 的 TCP 端口,以及反向代理服务器的 IP 地址访问 8000 ~ 8999 的 TCP 端口;出方向允许所有端口和协议;
设置反向代理服务器
- 在反向代理服务器上配置所有应用服务器应用的域名解析;
设置域名解析
- 将所有域名解析都指向反向代理服务器的 IP 地址;