Я пытаюсь настроить apache2 на OSX, и у меня возникла проблема. Я пытаюсь проксировать домен на 127.0.0.1:8081 (который запущен и работает), но при попытке загрузить через apache я получаю сообщение «Веб-страница не найдена». Я также не получаю ничего в error_log, чтобы указать, что происходит, и "apachectl configtest" возвращает OK. Эти директивы отлично работают на Linux-сервере, на котором запущен apache2.
Последнее сообщение, которое я вижу в журналах после запуска apache: [примечание] Apache / 2.2.20 (Unix) mod_ssl / 2.2.20 OpenSSL / 0.9.8r DAV / 2 настроен - возобновление нормальной работы
Любая помощь была бы замечательной, и я не эксперт по Apache!
/private/etc/apache2/extra/http-vhosts.conf
TransferLog /var/log/apache2/transfer_log
ProxyRequests Off
NameVirtualHost *:443
#
# THIS IS WORKING OK
# EVERYTHING ON PORT 80 IS CHANGED TO HTTPS
#
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Virtualhost>
<VirtualHost *:443>
# I have an entry in /etc/hosts pointing mydomain.com to 127.0.0.1
# and http://mydomain.com gets redirected to https://mydomain.com ok
ServerName mydomain.com
SSLProxyEngine On
SSLProxyMachineCertificateFile /etc/ssl/certs/mycert.pem
ProxyRequests Off
ProxyPreserveHost On
#
# 127.0.0.1:8081 is up and running OK
#
ProxyPass / http://127.0.0.1:8081/
ProxyPassReverse / http://127.0.0.1:8081/
TransferLog /var/log/apache2/ssl_access_log
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
SSLCertificateFile /etc/ssl/certs/mycert.crt
SSLCertificateKeyFile /etc/ssl/certs/mykey.key
SSLCertificateChainFile /etc/ssl/certs/mybundle.crt
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /var/log/apache2/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Спасибо!
Оказывается, включение было закомментировано в httpd.conf.
Изменено:
<IfDefine !MACOSXSERVER>
#Include /private/etc/apache2/extra/httpd-ssl.conf
</IfDefine>
Кому:
<IfDefine !MACOSXSERVER>
Include /private/etc/apache2/extra/httpd-ssl.conf
</IfDefine>
И теперь все работает :)