【问题标题】:apache passenger multiple conf files in vhosts dirctoryapache在vhosts目录中乘客多个conf文件
【发布时间】:2015-10-01 20:40:51
【问题描述】:

我有一个旧的 bitnami 服务器,我正在尝试添加一个额外的应用程序。我的 http.conf 文件包含这一行:

IncludeOptional con/vhosts/*.conf

我在 vhosts 目录中有两个文件,第一个,称为grade_review.conf,包含以下内容:

<VirtualHost *:80>
  RackBaseURI /grade_review
  <Directory "/opt/bitnami/apache2/htdocs/grade_review">
    Options -MultiViews
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
  </Directory>
</VirtualHost>

这是服务器上现有的应用程序,它工作正常。我可以通过http://my_server.com/grade_review 毫无问题地访问该应用程序。

我添加了第二个,名为 Honors_review.conf,包含以下内容:

<VirtualHost *:80>
  RackBaseURI /honors_review
  <Directory "/opt/bitnami/apache2/htdocs/honors_review">
    Options -MultiViews
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
  </Directory>
</VirtualHost>

重启 apache 后,我仍然可以毫无问题地访问第一个应用程序,但尝试访问 http://my_server.com/honors_review 的第二个应用程序时出现权限被拒绝错误。

当我修改第一个文件时,它包含两个这样的应用程序。 . .

<VirtualHost *:80>
  RackBaseURI /grade_review
  <Directory "/opt/bitnami/apache2/htdocs/grade_review">
    Options -MultiViews
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
  </Directory>

  RackBaseURI /honors_review
  <Directory "/opt/bitnami/apache2/htdocs/honors_review">
    Options -MultiViews
    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
  </Directory>
</VirtualHost>

。 . .并重新启动 apache,这两个应用程序都可以工作。我错过了什么?我是否错误地认为我可以为两个单独的应用程序拥有两个单独的 conf 文件?

【问题讨论】:

    标签: apache passenger


    【解决方案1】:

    您不能在同一个域中拥有两个虚拟主机,这就是第二个选项有效的原因(两个应用程序都在同一个虚拟主机中)。

    第一个选项不起作用(每个应用程序都有不同的虚拟主机),这是因为它们被配置为在端口 80 (*:80) 的所有域中工作。 如果您为每个人指定一个ServerName(和/或ServerAlias),它们将在指定的域上工作并且不会发生冲突。例如,如果您为第一个虚拟主机设置ServerName grade_review.my_server.com,为第二个虚拟主机设置ServerName honors_review.my_server.com,并且假设子域设置正确,这将起作用。

    与您要实现的目标相关,第二个选项(有效的选项)是有意义的,我不会更改它,因为您希望两个应用程序在同一个域上工作,但在不同的前缀上工作。

    【讨论】:

    • 谢谢。这完全有道理。我希望我可以使用单独的配置文件将多个应用程序部署到同一个虚拟主机,并避免每次添加新应用程序时手动编辑服务器上的配置文件。哦,好吧,没什么大不了的。 . .
    猜你喜欢
    • 2013-09-23
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多