апачский proxypassreverse ServerName, не работающий

У меня есть вторичная разработка сайт Wordpress. (Centos 6.6 x86, ЛАМПА), Так как размер сайта растет. (300 ГБ +). Теперь я делю его на 3 сервера.

домен: www.example.com

server1  46.192.22.01  /var/www/public_html
                                            /music
                                            /video


server2  46.192.22.02  /var/www/public_html
                                            /article
                                            /photo

server3  172.192.22.03  /var/www/public_html 
                                           /products
                                           /showroom

3 дюйм/с уже установили в домене DNS. Я хочу, делают их кластером. пользовательский доступ мой сайт другим URL, апач выберет правильный сервер, которые сажают corrent файлы подкачки.

www.example.com/music/xxx mapping to server with 172.192.22.01
www.example.com/article/xxx mapping to server with 172.192.22.02
www.example.com/products/xxx mapping to server with 172.192.22.03

Теперь я использовал апачский proxypassreverse.

/etc/httpd/conf/httpd.conf В server1

ServerName www.example.com:80
<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
    <directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from all
    </directory>
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPass /article http://46.192.22.02/article
    ProxyPassReverse /article http://46.192.22.02/article
    ProxyPass /photo http://46.192.22.02/photo
    ProxyPassReverse /photo http://46.192.22.02/photo
    ProxyPass /products http://46.192.22.03/products
    ProxyPassReverse /products http://46.192.22.03/products
    ProxyPass /showroom http://46.192.22.03/showroom
    ProxyPassReverse /showroom http://46.192.22.03/showroom
</VirtualHost>

/etc/httpd/conf/httpd.conf В server2

ServerName www.example.com:80
<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
    <directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from all
    </directory>
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPass /music http://46.192.22.01/music
    ProxyPassReverse /music http://46.192.22.01/music
    ProxyPass /video http://46.192.22.01/video
    ProxyPassReverse /video http://46.192.22.01/video
    ProxyPass /products http://46.192.22.03/products
    ProxyPassReverse /products http://46.192.22.03/products
    ProxyPass /showroom http://46.192.22.03/showroom
    ProxyPassReverse /showroom http://46.192.22.03/showroom
</VirtualHost>

/etc/httpd/conf/httpd.conf В server3

ServerName www.example.com:80
<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
    <directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from all
    </directory>
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyRequests Off
    ProxyPass /music http://46.192.22.01/music
    ProxyPassReverse /music http://46.192.22.01/music
    ProxyPass /video http://46.192.22.01/video
    ProxyPassReverse /video http://46.192.22.01/video
    ProxyPass /article http://46.192.22.02/article
    ProxyPassReverse /article http://46.192.22.02/article
    ProxyPass /photo http://46.192.22.02/photo
    ProxyPassReverse /photo http://46.192.22.02/photo
</VirtualHost>

Теперь я могу открыть свой сайт с каждой папкой www.example.com/music/xxx www.example.com/music/article, www.example.com/music/products,

Но echo $_SERVER["SERVER_NAME"] и echo $_SERVER['HTTP_HOST'] весь IP-адрес возврата. ServerName в httpd.conf кажется не работой. Где установка I неправильно?

0
задан 18 February 2015 в 13:22
1 ответ

Похоже, что отсутствует фрагмент прокси-балансера . Согласно этой документации настройка балансировщика выглядит следующим образом:

ProxyPass /special-area http://special.example.com smax=5 max=10
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://mycluster>
    BalancerMember ajp://1.2.3.4:8009
    BalancerMember ajp://1.2.3.5:8009 loadfactor=20
    # Less powerful server, don't send as many requests there,
    BalancerMember ajp://1.2.3.6:8009 loadfactor=5
</Proxy> 
1
ответ дан 4 December 2019 в 17:07

Теги

Похожие вопросы