
<VirtualHost 127.0.0.1:444>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory /home/test/public_beta>
AllowOverride All
</Directory>
DocumentRoot /home/test/public_beta
ServerName me.dev
ProxyPass / http://me.dev:8044
ProxyPassReverse / http://me.dev:8044
Что означает вышесказанное? Будет ли перенаправлен запрос на порт 8044 в / или /var/www/html ? что здесь означает Directory и DocumentRoot?
решение1
Директива <Directory>
используется для назначения специальных команд только для этого расположения жесткого диска, в этом случае она сообщает apache, что делать, когда он встречает файл .htaccess
в этом каталоге. DocumentRoot
Сообщает apache, где были бы файлы 'домашней страницы', если бы не директива ProxyPass
, которая сообщает apache перенаправить ВСЕ на me.dev на порт 8044.
Держу пари, если бы вы их закомментировали, то все работало бы точно так же.
Полное руководство по всем директивам доступно в Интернете:http://httpd.apache.org/docs/1.3/
По сути, каждый запрос (включая перенаправления) будет проксироваться наhttp://me.dev:8044
Например, https://localhost:444/something/page.html
следует ответить изhttp://me.dev:8044/something/page.html
решение2
это перенаправит запрос наhttp://127.0.0.1:444/кhttp://me.dev:8044/. Этот фрагмент не сообщает, находится ли каталог позадиhttp://me.dev:8044/это / или /var/www/html. DocumentRoot и Directory Settings на самом деле не нужны из-за директивы ProxyPass.
Более подробную информацию вы можете найти в документации:
ProxyPass
DocumentRoot