首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用使用apache mod_wsgi进行CNAME从不同域访问的烧瓶应用程序的目录浏览

问如何禁用使用apache mod_wsgi进行CNAME从不同域访问的烧瓶应用程序的目录浏览
EN

Stack Overflow用户
提问于 2014-01-06 02:51:39
回答 2查看 1.2K关注 0票数 0

我在Ubuntu上使用apache托管的烧瓶应用程序发生了一些奇怪的事情。我有一个虚拟主机设置与我的烧瓶应用程序导入到它。我的虚拟主机是/etc/apache2/sites available/已经启用了。文件如下:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName domain1.com

    WSGIDaemonProcess app user=flask group=www-data threads=5 home=/var/www/app
    WSGIScriptAlias / /var/www/app/app.wsgi

    <Directory /var/www/app>
        WSGIProcessGroup app
        WSGIApplicationGroup %{GLOBAL}
        WSGIScriptReloading On
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

当我使用domain1.com访问它时,我的应用程序工作得非常好。但是,如果具有指向domain1.com的CNAME记录的domain2.com,则可以在访问domain2.com时查看目录和文件。类似地,当我将ServerName更改为domain2.com时,目录清单可以从domain1.com中看到。

有人建议我编辑httpd.conf文件并删除索引条目,或者将其更改为-Indexes以关闭目录浏览,但是文件是空的。我希望应用程序只从ServerName中指定的域工作,而不是从指向它的任何其他域名中工作。请给我建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-06 03:14:06

给出的建议是正确的,但我相信在Ubuntu上,默认的虚拟主机位于/etc/apache2/apache2.conf或/etc/apache2/sites available/ default中。因为这两个域都解析为同一个ip,所以domain2获得了默认的Apache配置,因为它没有自己的虚拟主机。

您还可以通过将domain1的文档根移动到不同的位置来防止这一点,但是在任何情况下关闭索引都是个好主意。

票数 0
EN

Stack Overflow用户

发布于 2014-01-06 03:37:58

对于第二个域名,因为Apache找不到匹配的VirtualHost,所以它将返回到在解析配置时使用它找到的第一个VirtualHost定义。

要在稍微不同的背景下解释这一点,请参见:

阅读“回退到默认VirtualHost定义”一节。

如果希望阻止所有其他域名,则将默认的VirtualHost更改为:

代码语言:javascript
复制
<VirtualHost _default_:*>
Deny from all
</VirtualHost>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20942183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档