【问题标题】:How to block Rails 4 Passenger requests from other virtual hosts?如何阻止来自其他虚拟主机的 Rails 4 乘客请求?
【发布时间】:2014-07-09 07:59:45
【问题描述】:

我刚刚使用 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]

我不确定如何停止来自其他域的请求,我尝试删除“全部允许”和“要求全部授予”,但这会导致网站停止工作,即使来自正确的域,乘客也需要这些设置上班。

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

【问题讨论】:

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

标签: ruby-on-rails-3 passenger apache2.4


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多