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

Запретить пользователям доступ к веб-сайту через порт 8080 (apache) при использовании Varnish (на порту 80)

Моя конфигурация очень проста:

Чтобы избежать дублирования контента, я хочу запретить пользователю заходить на мой веб-сайт, напрямую нажимая apache (который работает на порту 8080).

Я настроил сервер Varnish, прослушивающий порт 80, поэтому я хочу использовать только его, чтобы бот не индексировал один и тот же веб-сайт на другом порту, что может вызвать проблему с дублированием контента.

Я использую выделенный сервер с Debian 6.

Мой виртуальный хост выглядит так:

<VirtualHost *:8080>
    ServerAdmin webmaster@localhost
    ServerName www.seek-team.com

    DocumentRoot ...
    DirectoryIndex app.php

    <Directory "/var/www/seek-team.com/current/web">
        Options -Indexes FollowSymLinks SymLinksifOwnerMatch
        AllowOverride All
        Allow from All
    </Directory>
</VirtualHost>

Как запретить пользователю прямой доступ к сайту через порт 8080? (но мне все еще нужен лак, чтобы правильно ударить apache).

Спасибо.

Вы можете привязать демон apache к интерфейсу обратной связи и заставить Varnish подключаться к localhost:80. Таким образом, лак будет доступен миру, в то время как apache будет доступен только локально.

Конфигурация лака:

backend www {
.host = “localhost″;
.port = “80″;
}

Конфигурация Apache:

Listen 127.0.0.1:8080
...    
<VirtualHost 127.0.0.1:8080>
...

Просто заблокируйте порт 8080 с помощью iptables для внешнего мира следующим образом:

 # iptables -I INPUT -p tcp --dport 80 -j DROP

 # iptables -I INPUT -s localhost -j ACCEPT

Самый быстрый вариант - просто привязать экземпляр Apache к Localhost, чтобы он был доступен только с этого компьютера.

<VirtualHost 127.0.0.1:8080>

В качестве альтернативы вы можете настроить разрешения вашего блока каталога виртуального хоста Apache, чтобы:

Deny from all
Allow from 127.0.0.1  #IP.OF.MY.PC

Это немного более гибко, так как вы можете добавить свой собственный IP-адрес или диапазон сети в список разрешенных IP-адресов, чтобы позволить нескольким избранным прямой доступ для диагностических целей.

Оба варианта выше предполагают, что экземпляр Varnish работает на одном физическом сервере.