#apache #docker
#apache #docker
Вопрос:
У меня есть сайт, который я запускаю в настоящее время, который работает хорошо, но я пытался настроить его как для обучения, так и для того, чтобы сделать его более переносимым. Я использую официальные изображения apache и php и настраиваю свои виртуальные хосты идентично тому, как у меня на запущенном сайте, только с разными доменами. К сожалению, хотя я могу заставить один работать, второй — нет.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName api.gamersplane.local
DocumentRoot /var/www/api
ErrorLog "/var/log/gamersplane.api"
CustomLog "/var/log/gamersplane.api" common
ProxyPassMatch ^/(.*.php(/.*)?)$ fcgi://api:9000/var/www/$1
ProxyPassReverse ^/(.*.php(/.*)?)$ fcgi://api:9000/var/www/$1
RewriteEngine On
RewriteBase /
RewriteRule !.(css|jpg|js|gif|png|ico|eot|woff|ttff|svg|psd)$ dispatch.php
<Directory /var/www/api/>
Options FollowSymLinks
Require all granted
</Directory>
LogLevel notice
</VirtualHost>
<VirtualHost *:80>
ErrorLog "/var/log/gamersplane"
CustomLog "/var/log/gamersplane" common
ProxyPreserveHost On
ProxyPassMatch ^/(.*.php(/.*)?)$ fcgi://api:9000/var/www/$1
ProxyPassReverse ^/(.*.php(/.*)?)$ fcgi://api:9000/var/www/$1
ServerName gamersplane.local
ServerAlias *.gamersplane.local
DocumentRoot /var/www
RewriteEngine On
RewriteBase /
RewriteRule !.(css|jpg|js|gif|png|ico|eot|woff|ttff|svg|psd)$ dispatch.php
<Directory /var/www/>
Options FollowSymLinks
Require all granted
</Directory>
LogLevel notice
</VirtualHost>
Изначально у меня был первый vhost (api.gamersplane) second, но я подумал, что, возможно, проблема была в псевдониме сервера. Затем я сменил позицию и даже закомментировал базу (gamersplane.local), но безуспешно. Это работает на запущенном сайте, поэтому я не могу понять, что с ним не так.
Проверяя заголовки, возвращаемые Postman, я вижу, что в нем есть заголовки Apache и PHP, так что, похоже, что-ТО происходит, я просто не знаю, что.
Комментарии:
1. Я не уверен, что вы можете использовать подстановочный знак на ServerAlias
2. Он работает в рабочей среде (среда, отличная от docker). Но даже если я закомментирую этот виртуальный хост, другой не будет работать.
3. Добавьте serveralias. Но как обычное имя хоста (может совпадать с именем сервера)