2015-03-26 5 views
1

Я уже использую mod_proxy для перенаправления из example-domain.com в example-domain.com:8080, ну без CloudFlare (резервный прокси) он работает ... но с CloudFlare это просто ответ на ошибку 1000 DNS указывает на запрещенный IP-адрес. Есть ли у вас шансы получить это и по-прежнему использовать CloudFlare, чтобы защитить себя? Я не хочу, чтобы адрес показывал что-то вроде этого с mod_rewrite http://example-domain.com:8080, поэтому я перенаправляю, размещение на порту 80 невозможно, поэтому никаких изменений нет.Cloudflare и mod_proxy

Мой ВХост конфигурации:

<Directory /var/www/example-domain.com> 
      AllowOverride None 
      Require all denied 
      </Directory> 

    <VirtualHost *:80> 
      DocumentRoot /var/www/example-domain.com/web 

      ServerName example-domain.com 
      ServerAlias www.example-domain.com 
      ServerAlias alias.example-domain.com 
      ServerAdmin [email protected] 
      ProxyPreserveHost On 
      ProxyRequests Off 

      <Proxy *> 
       Order deny,allow 
       Allow from all 
      </Proxy> 

      ProxyPass/http://example-domain.com:8080/ 
      ProxyPassReverse/http://example-domain.com:8080/ 

    </VirtualHost> 

ответ

0

Независимо от того, какой порт вы обращаетесь к CloudFlare через, CloudFlare имеет тенденцию попробовать порт 80/443 первым. Если он может подключаться к этим портам во время его собственного проксирования, он останавливается там, а затем не пытается использовать порт, который вам действительно нужен (в вашем случае 8080).

Таким образом, это похоже на циклический цикл, вы указываете свои запросы от CloudFlare на прокси-сервер, чтобы указать обратно через CloudFlare на сервер на порту 8080. CloudFlare затем снимает порт 8080 и подключается через обычное соединение.

Лучший способ исправить это - просто настроить ProxyPass на использование URL-адреса, который не запускается через сеть CloudFlare или просто через localhost.

Так что либо изменить ProxyPass в вашем VirtualHost для:

 ProxyPass/http://direct.example-domain.com:8080/ 
     ProxyPassReverse/http://direct.example-domain.com:8080/ 

Где direct.example-domain.com не маршрут через сеть CloudFlare (серое облако в вашем CloudFlare DNS, предоставляя вам делает установка полного облака CloudFlare).

В качестве альтернативы изменить прокси-пасс идти через локального сервера:

 ProxyPass/http://127.0.0.1:8080/ 
     ProxyPassReverse/http://127.0.0.1:8080/ 

Удачи!