源站IP保护
443 Port
server {
listen 443 ssl;
ssl_reject_handshake on;
}
防止 SNI 泄露
80 Port
即使设置完了443端口,Censys依旧在某些情况下获得你的源站IP。
我就遇到一种情况:
(耻辱的记录)
由于80端口并没有指定default_server,所以在处理没有提供server name的请求时,nginx会fallback到第一个virtual server,好巧不巧就是我的评论系统的代理服务,关于我博客的评论系统可以看博客评论系统的选择 | MoonLab 而由于我的评论系统是需要CORS的,所以response中带有 Access-Control-Allow-Origin 的Header,其中暴露了我的域名。这就导致了源站IP的泄露,Censys直接记录到了我的IP。
(Censys 偷窥我的80端口,我的评论系统响应了,妈的叛徒)
尽管这个IP并非是moonlab.top的,但也是我的服务器IP。
因此不光要设置443的拒连,也要加入80的拒连:
server {
listen 80 default_server;
server_name _;
return 444;
}