2

我确实使用 mod_proxy 设置了两个代理。但是,当我使用 mod_autoindex 列出根目录中的所有目录时,它不会显示与代理同名的其他存在和空的虚拟目录,即使我使用 ShowForbidden 也不显示。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyPass /jenkins/ http://localhost:8080/jenkins/
ProxyPassReverse /jenkins/ http://localhost:8080/jenkins/

ProxyPass /redmine/ http://localhost:81/redmine/
ProxyPassReverse /redmine/ http://localhost:81/redmine/

<Directory />
    AllowOverride All
    Order Allow,Deny
    Allow from All
    Options -ExecCGI +FollowSymLinks +IncludesNOEXEC +Indexes +MultiViews -SymLinksIfOwnerMatch
    IndexOptions Charset=UTF-8 Type=text/html DescriptionWidth=* FancyIndexing FoldersFirst HTMLTable IconsAreLinks IgnoreCase NameWidth=* ShowForbidden VersionSort XHTML
</Directory>

有没有办法强制 mod_autoindex 显示这些目录,以及代理的链接?

4

2 回答 2

2

自动索引无法向您显示由反向代理或别名或类似内容定义的 URI。请求的 URI 通过 URI 到文件的映射管道,应用了一堆模块,最后你最终得到一个带有(希望)内容的响应。Mod_autoindex 仅查看在 URI 到文件处理管道末尾的目录中的物理文件,因此您使用别名或定义为反向代理的任何内容都不会显示在该自动索引列表中,因为它们不是文件系统上的物理文件/目录。

我认为没有一种轻松的方法可以让自动索引目录列表也包含别名或反向代理。更痛苦的方法是编写自定义脚本来生成索引列表并包含您的自定义别名和反向代理。

于 2012-09-21T08:50:45.317 回答
0

好吧,我管理的最简单的解决方案是创建一个 /jenkins_/ 目录并使用 mod_rewrite 将其重定向到 /jenkins/。

RewriteEngine on
RewriteBase /jenkins_/
RewriteRule ^(.*)$ /jenkins/$1 [R]

这不是我想要的,但很接近。

于 2013-01-20T19:11:23.157 回答