我在端口 7000 上运行了一个 Python/CherryPy 程序。它处理自己的 Web 服务器,因此我使用了 Apache 反向代理,以便我可以使用 mydomain.org 访问它。这有效;配置如下。
我还希望 Apache 通过访问 mydomain.org/files 来提供目录 /media 中的任何文件(使用 Index)。目的是将 USB 驱动器插入服务器,它会自动安装在 /media/usb 上,然后我可以将链接提供给某人。
<Location />
AuthType Basic
AuthName "Secure"
AuthBasicProvider file
AuthUserFile /etc/apache2/auth
Require valid-user
Allow from 192.168.1.1/24
Satisfy Any
ProxyPass http://localhost:7000/
ProxyPassReverse http://localhost:7000/
</Location>
我是 Apache 新手,因此很容易感到困惑,或者没有提供足够的信息,或者没有找到正确的搜索词。如果是这样,请告诉我。
答案1
确保目录/media
确实具有正确的配置(您需要mod_autoindex
加载模块)
<Directory /media>
Allow from all
Options +Indexes
</Directory>
设置别名指向/media
Alias /files /media
确保不/files
使用 ! 来代理 URL 空间
ProxyPass /files !
特定虚拟主机的完整配置如下
<Directory /media>
Allow from all
Options +Indexes
</Directory>
Alias /files /media
<Location />
AuthType Basic
AuthName "Secure"
AuthBasicProvider file
AuthUserFile /etc/apache2/auth
Require valid-user
Allow from 192.168.1.1/24
Satisfy Any
</Location>
ProxyPass /files !
ProxyPass / http://localhost:7000/
ProxyPassReverse / http://localhost:7000/