Назад | Перейти на главную страницу

Apache2, mod_proxy, mod_ssl на OSX не работают

Я пытаюсь настроить 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>

И теперь все работает :)