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

Apache и тонкий, неправильный протокол

Здравствуйте, у меня есть следующая конфигурация apache, которая должна направлять весь трафик на порт 433 на некоторый балансировщик, который использует небольшой сервер под названием Thin.

<VirtualHost *:443> 
    ServerAdmin webmaster@localhost
    SSLEngine On
        SSLCertificateFile /etc/ssl/private/localhost.pem
    DocumentRoot /home/me/projects/contest/public/

    <Proxy balancer://thinservers>
            BalancerMember http://127.0.0.1:3000
    </Proxy>    
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    RewriteEngine On
    # Redirect all non-static requests to thin
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
    RewriteRule ^/(.*)$ balancer://thinservers%{REQUEST_URI} [P,QSA,L]

    ProxyPass / balancer://thinservers/
    ProxyPassReverse / balancer://thinservers/
    ProxyPreserveHost on

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

В любом случае URL-адреса, которые я получаю на тонком сервере, меняются с https на http, но я хочу, чтобы тонкий сервер видел их как https. Не уверен, что случилось и что делать. Любое предложение?

Это предположение, но я думаю, вам может понадобиться следующее: SSLProxyEngine ON перед блоком.

Отсюда: http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslproxyengine