LINUX.ORG.RU

Не получается настроить apache reverse-proxy с домена_1 на домен_2

 ,


0

1
Есть реальный сайт в интернете. Пусть его имя будет https://site1.com

Есть еще один сервер с реальным доменом (домен этот тоже видно из интернета), предположим, с таким https://domen.com На борту этого второго сервера установлен apache2

Я хочу, чтобы по адресу https://domen.com открывалась главная страница сайта https://site1.com При этом чтобы в адресной строке так и оставался мой адрес https://domen.com

То есть, я иду по адресу https://domen.com – и у меня открывается главная страница сайта https://site1.com

Почему-то такой трюк у меня не получается сделать: или получается редирект с https://domen.com на https://site1.com – то есть, меняется адрес сайта на оригинальный, и уже потом открывается главная страница сайта, или циклическое перенаправление на мой собственный домен https://domen.com

При вот таком конфиге происходит циклическое перенаправление на https://domen.com

<VirtualHost *:443>
          ServerAdmin webmaster@localhost
          ServerName domen.com
 
          DocumentRoot /var/www/html
 
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
 
         SSLEngine on
         SSLProtocol all -SSLv2
         SSLCertificateFile      /etc/ssl/certs/fullchain.pem
         SSLCertificateKeyFile   /etc/ssl/private/privkey.pem

         <FilesMatch "\.(?:cgi|shtml|phtml|php)$">
                 SSLOptions +StdEnvVars
         </FilesMatch>
         <Directory /usr/lib/cgi-bin>
                 SSLOptions +StdEnvVars
         </Directory>

         IncludeOptional /etc/apache2/sites-available/proxy_paths.conf

         ProxyPreserveHost On
         SSLProxyEngine on
         SSLProxyVerify none
         SSLProxyCheckPeerCN off
         SSLProxyCheckPeerName off

         <IfModule mod_proxy.c>
            # Проксирование для /
            ProxyPass "/"  "https://site1.com/"
            ProxyPassReverse "/" "https://site1.com/"
            ProxyPreserveHost On
         </IfModule>
</VirtualHost>

Хотя для неглавной страницы этот код вполне работает. Для неглавной я изменю эти 2 строки, и открою «Контакты»:

     ProxyPass "/contacts/"  "https://site1.com/contacts/"
     ProxyPassReverse "/contacts/" "https://site1.com/contacts/"

И в этом случае по адресу https://domen.com/contacts/ открывается страница контактов https://site1.com/contacts/, и в адресной строке браузера остается адрес https://domen.com/contacts/

Если это имеет значение, то сайт https://site1.com сделан на WordPress.



Последнее исправление: truebin (всего исправлений: 1)
Ответ на: комментарий от firkax

в том то и дело, что надо на apache сделать. Это задача реальная. На сервере апач.

И все страницы проксируются, кроме главной. Не могу понять, почему.

truebin
() автор топика

IncludeOptional /etc/apache2/sites-available/proxy_paths.conf

А чо там?

А чо на site1 с конфигом и прочими .htaccess?

Если это имеет значение, то сайт https://site1.com сделан на WordPress.

Ты же с ProxyPreserveHost On приходишь на вордпресс, который уверен, что его зовут site1.com, и просишь контент для domen.com. Странно, что он вообще на какие-то запросы тебе отвечает.

thesis ★★★★★
()

Я хочу, чтобы по адресу https://domen.com открывалась главная страница сайта https://site1.com При этом чтобы в адресной строке так и оставался мой адрес https://domen.com

Я вот думаю, как это лучше назвать? Спуфинг, фишинг, дорвей, csrf, хотлинкинг?

t3n3t
()
Ответ на: комментарий от truebin

Это плохой костыль и за это ПС тебя во все что можно поимеют. Не надо так. Если уж прям так надо контент одного сайта на другом показывать - свяжи их апишкой.

t3n3t
()