我有一个带有Apache、乘客和虚拟主机的rails应用程序(多个应用程序运行在同一台服务器上)
3天前,我的日志里到处都是奇怪的错误:
Missing template users/login, application/login with {:locale=>[:en], :formats=>["Accept: */*"], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
* "/home/deployer/rails_apps/vantano/releases/20160318190203/app/views"
------------------------------- Request:
* URL : http://www.baidu.com/
* HTTP Method: GET
* IP address : 222.186.21.107
* Parameters : {"controller"=>"users", "action"=>"login"}
* Timestamp : 2016-05-12 18:14:12 UTC
* Server : eemvantano
* Rails root : /home/deployer/rails_apps/vantano/releases/20160318190203
* Process: 25133现在有视图/user/login.erb.html,但奇怪的部分是URL。我的网站不是百度。在日志中添加了Env转储,更奇怪的是:
------------------------------- Environment:
* HTTP_ACCEPT : Accept: */*
* HTTP_HOST : www.baidu.com
* HTTP_PROXY_CONNECTION : Keep-Alive
* HTTP_REFERER : http://www.baidu.com/
* HTTP_USER_AGENT : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; WebSaver; .NET CLR 2.0.50727)
* HTTP_VERSION : HTTP/1.1
* ORIGINAL_FULLPATH : /
* ORIGINAL_SCRIPT_NAME :
* PASSENGER_CONNECT_PASSWORD : [FILTERED]
* PATH_INFO : /
* QUERY_STRING :
* REMOTE_ADDR : 222.186.21.107
* REMOTE_PORT : 4362
* REQUEST_METHOD : GET
* REQUEST_URI : /
* ROUTES_37245440_SCRIPT_NAME :
* SCRIPT_NAME :
* SERVER_NAME : www.baidu.com
* SERVER_PORT : 80
* SERVER_PROTOCOL : HTTP/1.1
* SERVER_SOFTWARE : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.16 OpenSSL/1.0.1f Phusion_Passenger/5.0.27为什么百度被列为主机和服务器名称?
发布于 2016-05-12 20:27:25
首先,您的Apache配置可能设置为回退到客户端提供的HTTP_HOST for SERVER_NAME (有关详细信息,请参阅UseCanonicalName和这就是答案上的文档)。因此,这两个匹配,尽管是假的,并不是一个问题(除非您的代码依赖于该值)。
其次,这看起来像是有人为baidu.com (中国中一个非常流行的搜索引擎)配置了DNS以指向您的服务器。很难说为什么..。
https://stackoverflow.com/questions/37195774
复制相似问题