我正在使用owncloud,有时通过Facebook与人分享链接。
我担心自动抓取,所以我想拒绝Facebook访问我的owncloud.thomas-steinbrenner.net服务器(它访问所有链接,以获得预览图片,预览文本等)
有没有办法在nginx中做到这一点? 像通过主机名或代理? (我觉得使用IP是一个不能赢的游戏)。
如果没有:是否有其他方式像黑名单项目列表的政府,FB-等iptables的iptables?
TCP包装? 我相信可以做基于主机/域的拒绝。 也有你试过一个简单的robots.txt会惊讶,如果Facebook不尊重他们。 我认为他们无法承受忽视它们的争议。
nginx支持开箱即用的$ http_user_agent值:
if ($http_user_agent ~* (facebook|google)) { ... }
主机名validation可以通过第三方模块完成 – ngx_http_rdns_module: http ://wiki.nginx.org/HttpRdnsModule( https://github.com/flant/nginx-http-rdns )
喜欢这个:
location / { rdns double; rdns_deny ^.*\.(facebook|google)\.com$; }