为何我的 apache 别名不起作用?

为何我的 apache 别名不起作用?

这是我在 apache 2.4 中的虚拟主机:

<VirtualHost *:80>
    ServerName mailcatcher.dev
    Alias /mailcatcher.dev.png /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mailcatcher-0.5.12/public/images/logo_large.png
    <Directory /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/mailcatcher-0.5.12/public/images>
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog "/private/var/log/apache2/mailcatcher.dev-error_log"
    CustomLog "/private/var/log/apache2/mailcatcher.dev-access_log" common
    ProxyPass / http://127.0.0.1:1080/
    ProxyPassReverse / http://127.0.0.1:1080/
</VirtualHost>

我尝试将一个 URLhttp://mailcatcher.dev/mailcatcher.dev.png解析为一个文件,并将所有其他请求转发到 Webmail 界面。据称我的配置根据 是没有问题的apachectl -t;但文件未提供,并且我的访问日志中显示 404(如下)(错误日志中没有任何内容)。

::1 - - [18/Sep/2014:22:42:07 -0600] "GET /mailcatcher.dev.png HTTP/1.1" 404 135

我没得到什么?这应该按照规格其中说别名可以解析为文件路径。

答案1

这是因为请求/mailcatcher.dev.png被反向代理到你的后端应用程序,因为该ProxyPass指令似乎比Alias

您需要ProxyPass /mailcatcher.dev.png !在之前添加一个条目ProxyPass / http://127.0.0.1:1080/

相关内容