反向代理
设置反向代理和 SSL
为了向外公开站点,你应当使用 https 协议。我们推荐使用 Caddy 作为反向代理,它可以自动申请证书并配置 https。
下面是一个使用 Cloudflare 的 API 自动进行证书验证的 Caddyfile 例子:
{
email <YOUR_EMAIL>
storage file_system {
root /root/caddy/certs/
}
log error {
output file /root/caddy/logs/error.log {
roll_size 20MB
roll_keep 5
roll_keep_for 240h
}
level ERROR
}
acme_dns cloudflare API_TOKEN
}
your-cws-site.com {
reverse_proxy :5000
}
使用 Cloudflare
推荐使用 Cloudflare 加速站点,从而隐藏服务器 IP。如果你将域名 DNS 托管在 Cloudflare,在开启 Proxy 之后,你有如下方式使用 https:
- 在 Cloudflare 中设置站点 https 跳转,并在 SSL/TLS 选项中设置加密类型为 flexible;服务器中反向代理对外使用 http 协议。如果你想更安全,可以将其配置为只允许 Cloudflare 服务器访问。这样的好处是开启 https 较为简单,不用续证书。
- 在 SSL/TLS 选项中设置加密类型为 Full,服务器反向代理配置有效的 SSL 证书,对外使用 https。
防火墙
你应当保证 Mongodb 和 ninja 的端口不对外开放。