django C Nginx:交替域的不同robots.txt
我有一个内部和外部域指向它的单个Web应用程序,我希望robots.txt阻止对内部域的所有访问,但允许所有访问外部域.
问题细节
我有一个简单的Nginx服务器块,我曾用它代理Django应用程序(见
摘要 我有一个内部和外部域指向它的单个Web应用程序,我希望robots.txt阻止对内部域的所有访问,但允许所有访问外部域. 问题细节 我有一个简单的Nginx服务器块,我曾用它代理Django应用程序(见下文).如您所见,此服务器块响应任何域(由于缺少server_name参数).但是,我想知道如何标记特定域名,例如Nginx将为他们提供自定义robots.txt文件. 更具体地说,域example.com和www.example.com将提供htdocs目录中的默认robots.txt文件. (因为设置了“root / sites / mysite / htdocs”并且robots.txt文件位于/sites/mysite/htdocs/robots.txt) 但是,我还希望域“example.internal.com”(它指的是与example.com相同的服务器)提供自定义的robots.txt文件;我想创建一个自定义robots.txt,以便google不会将该内部域编入索引. 我想到了重复服务器块并在其中一个服务器块中指定以下内容.然后以某种方式覆盖该服务器块中的robots.txt查找. "server_name internal.example.com;"但是为了这个目的而重复整个服务器块似乎并不是很干. 我还想过可能会使用if语句来检查主机头是否包含内部域.然后以这种方式提供自定义robots.txt文件.但是Nginx说If Is Evil. 为内部域提供自定义robots.txt文件的好方法是什么? 谢谢您的帮助. 这是我正在使用的服务器块的代码示例. upstream app_server { server unix:/sites/mysite/var/run/wsgi.socket fail_timeout=0; } server { listen 80; root /sites/mysite/htdocs; location / { try_files $uri @proxy_to_app; } location @proxy_to_app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } } 最佳答案 您可以使用map来定义条件变量.在服务器指令外添加: map $host $robots_file { default robots.txt; internal.example.com internal-robots.txt; }然后变量可以像try_files一样使用: server_name internal.example.com; location = /robots.txt { try_files /$robots_file =404; }现在,您可以在根目录中拥有两个robots.txt文件: robots.txt internal-robots.txt(编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx – [emerg] bind()到0.0.0.0:80失败(98:地址已在使用
- 缓存 – 使用Nginx进行分布式缓存MP4 PseudoStreaming(搜索
- Passenger nginx:应用程序不在生产模式下运行
- 如何在Nginx日志中记录反向代理上游服务器服务请求?
- Nginx – 重定向域尾随点
- ruby-on-rails – nginx错误:(13:权限被拒绝)连接到上游时
- 如何告诉nginx仅为一个vhost管理的域提供https?
- Nginx为WordPress的/ wp-admin / root提供404错误
- Nginx或LVS for Node.js负载平衡?
- ruby-on-rails – 用Nginx解释负载平衡,就像我五岁一样
- nginx – 正确的uWSGI进程数量?
- django-nginx 500错误,tmp文件夹的权限被拒绝
- 在django nginx wsgi中,什么是“mysite.sock”
- 大的keepalive_requests值会严重减慢Nginx的速度
- 在debian(基于系统)上配置git-http-backend的ngi
- ruby-on-rails C 当从私有NIC访问时,Rails显示IP
- ruby-on-rails-在Ruby on Rails生产服务器上为乘
- php – Nginx:使用fastcgi_pass时覆盖主机头
- Centos上的nginx php-fpm“访问被拒绝”
- 如何在nginx反向代理后面的CakePHP中安全地检测S