Я действительно новичок в apache2 и ранее работал с Nginx. Я пытаюсь использовать псевдоним в apache2 для обслуживания статического контента. Начнем с простого примера.
Я попытался этот из, и это тоже не сработало. Совет?
000-default.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName 13.67.35.134
Alias /static /home/ubuntu/static
<Directory /home/ubuntu/static/>
Options FollowSymLinks
</Directory>
ProxyPass / http://127.0.0.1:5000/
</VirtualHost>
Я тоже пробовал это с цитатами на основе этого ответ:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName 13.67.35.134
Alias /static "/home/ubuntu/static"
<Directory "/home/ubuntu/static">
Options FollowSymLinks
</Directory>
ProxyPass / http://127.0.0.1:5000/
</VirtualHost>
У меня есть logo.png, расположенный по адресу
/home/ubuntu/static/logo.png
alias_module включен:
$ apache2ctl -M | grep alias
alias_module (shared)
Когда я набираю 13.67.35.134/static/logo.png, я получаю 404, это access.log
[26/Jan/2018:02:31:02 +0000] "GET /static/logo.png HTTP/1.1" 404 423 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"
Решение
Спасибо @AndrewSchulman за то, что он указал, что Proxy Pass в моем файле 000-default.conf лишает возможности доступа к моему статическому контенту.
Если у вас нет другого веб-сервера, работающего на localhost: 5000 (и я не знаю, зачем вы это делаете, за исключением тестирования, я полагаю), вам следует удалить ProxyPass / http://127.0.0.1:5000/
директива.