Почему мой псевдоним apache не работает?
Вот мой vhost в 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>
Я пытаюсь получить один URL http://mailcatcher.dev/mailcatcher.dev.png
преобразовать в файл, а все остальные запросы перенаправить в интерфейс веб-почты. Якобы мой конфиг в порядке в соответствии с 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/