Ruby on rails 3 如何阻止来自其他虚拟主机的Rails 4乘客请求?

Ruby on rails 3 如何阻止来自其他虚拟主机的Rails 4乘客请求?,ruby-on-rails-3,passenger,apache2.4,Ruby On Rails 3,Passenger,Apache2.4,我刚刚在Apache/2.4.7(Ubuntu)上部署了一个使用Passenger的Rails 4应用程序,在24小时内我发现了一些与我的站点相同的站点 他们正在使用某种DNS转发,因为一切正常,包括网站上的表单 这是我的apache虚拟主机: <VirtualHost mysite.com:80> ServerName www.mysite.com ServerAlias mysite.com DocumentRoot /home/deploy/mysite/public Rail

我刚刚在Apache/2.4.7(Ubuntu)上部署了一个使用Passenger的Rails 4应用程序,在24小时内我发现了一些与我的站点相同的站点

他们正在使用某种DNS转发,因为一切正常,包括网站上的表单

这是我的apache虚拟主机:

<VirtualHost mysite.com:80>
ServerName www.mysite.com
ServerAlias mysite.com
DocumentRoot /home/deploy/mysite/public
RailsEnv production
<Directory /home/deploy/mysite/public>
    Allow from all
    Options -MultiViews
    Require all granted 
</Directory>
RewriteEngine on   
RewriteCond %{HTTP_HOST} !^(www)\.
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

服务器名www.mysite.com
服务器别名mysite.com
DocumentRoot/home/deploy/mysite/public
RailsEnv生产
通融
选项-多视图
要求所有授权
重新启动发动机
重写cond%{HTTP_HOST}^(www)\。
重写规则^http%1://www.%{http_HOST}%{REQUEST_URI}[R=301,L]

我不知道如何停止来自其他域的请求,我已尝试删除“Allow from all”和“Required all grated”,但这将停止网站工作,即使是在正确的域中,乘客也需要这些设置才能工作


我有点卡住了,所以如果您有任何建议,我很乐意尝试一下。

结果表明,来自不存在的虚拟主机的所有请求都会路由到您的第一个可用vhost


为了阻止任何人使用DNS转发劫持你的网站,你需要先启用一个默认的虚拟主机(使用默认名称000 default,就可以了)并充当一个包罗万象的角色,指向一个被禁止的页面,或者更好地创建一个简单的html页面,其中包含一些指向您站点的链接。

您在说什么?我无法理解你的推理。基本上,使用上述配置,任何人都可以将任何域指向我的服务器ip地址,并创建相同的站点。