应用站点的基本构成

在cloud上有了可操作的VM/VPC,就可以自己建站了。

简单并且安全的站点构造如下:

CloudFlare到VM/VPC之间必须是proxied,并且是full(strict)设定(HTTPS/自定义证书)。

本地操作VM/VPC的SSH,必须是限定IP访问。

1.防火墙ufw/iptables

只允许HTTP/HTTPS,SSH协议。

并且限定HTTP/HTTPS的来源地址是CloudFlare。关于CF的的IP范围参照:Ipranges

严格限定SSH的来源IP地址。

其余的端口/协议均不开放。所有应用均是通过HTTPS来访问。

2.恶意访问防止fail2ban

两个必须设定:SSH的ban和web服务器(nginx)访问失败ban。

3.web服务器(nginx)

HTTP访问无效设定,或者直接转到HTTPS设定。

全站的流量控制设定。

针对敏感资源(app或则路劲),必须进行认证(basic_auth)设定。

docker内部署的应用,必须通过proxy reverse来代理。

4.做好备份shell

应用资源/资料的定期备份(我这里是通过CLI备份到AWS的S3上)。

DB的整体DUMP定期备份(同样是备份到AWS的S3上)。

整体的AP服务器基本上简单必要的设定就这些。之后就是日常维护了。