如何阻止来自其他虚拟主机的Rails 4 Passenger请求?

时间:2014-05-20 21:26:37

标签: 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
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]

我不确定如何停止来自其他域的请求,我已尝试删除&#34;允许来自所有&#34;并且&#34;要求全部授予&#34;但这会阻止网站即使从正确的域开始工作,这些设置也是乘客工作所必需的。

我有点陷入困境,所以如果您有任何建议我会很乐意尝试。

1 个答案:

答案 0 :(得分:0)

将来自不存在的虚拟主机的所有请求路由到您的第一个可用虚拟主机。

为了阻止任何人使用DNS转发劫持您的网站,您需要首先加载默认虚拟主机(使用默认名称000-default,这样做)并充当一个全能的指向一个禁止的页面,甚至更好地创建一个简单的html页面,其中包含一些指向您网站的链接。