Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: squid+ apache вместо интернета отобразить страничку с apache [РЕШЕНО]  (Прочитано 1503 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Вобщем есть беспроводная точка и безлимитный интернет, которым хочу поделиться со всеми желающими. Беспроводная точка раздает настройки всем по DHCP. Шлюзом указывается мой компьютер, на котором установлен SQUID и APACHE. Для того, чтоб войти в интернет, необходимо правильно прописать настройки прокси сервера для этого хочу, чтоб все, кто не прописал настройки - при любом запросе попадали на страничку с APACHE с инструкцией по настройке.
Какими средствами можно такое сделать ?  Т.к. если просто завернуть http траффик на APACHE и на него прийдет запрос типа www.google.ru, то врядли apache ответит страничкой с настройками.
« Последнее редактирование: 21 Декабря 2009, 21:00:43 от Scorpikor »

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
точн так же как вы на squid заворачиваете
iptables -t nat -A PREROUTING -i $LAN -d ! $INT_NET -p tcp -m multiport --dport 80,8080 -j DNAT --to $SQUID_IP:80 -v
----------------
Now playing: Staind - [Plugged & Unplugged Bootleg #09] Outside   [foobar2000 v0.9.5]
via FoxyTunes

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Спасибо, попробую сделать. Единственное что - как-нить можно переписать запрос пользователя ( например пользователь обращается на www.google.ru а мы переписываем запрос на http://ip_apache/index.html и перенаправляем на апач) ?

Пользователь решил продолжить мысль 21 Декабря 2009, 00:21:34:
Спасибо, работает!!! - только работает когда обращаются к корню сайта т.е.вместо  www.google.ru отобразится страничка а если ссылка будет вида www.google.ru/mail/ , то не отображаеьтся страница а вылазит ошибка апача а том что документ не был найден. Может апач сам может перенаправить на главную страницу ?   
« Последнее редактирование: 21 Декабря 2009, 00:21:34 от Scorpikor »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Изучай rewrite engine в апаче. Только вот к чему столько геммора, если можно весь трафик сразу на сквид завернуть??

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Mam(O)n
+1
Цитировать
Только вот к чему столько геммора
думаю для wpad
Цитировать
Единственное что - как-нить можно переписать запрос пользователя ( например пользователь обращается на www.google.ru а мы переписываем запрос на http://ip_apache/index.html и перенаправляем на апач) ?
если пользователь уже получил страничку с настройками proxy, => он эти настройки использует

к squid можно прикрутить  redirector ( jesred и т.д.) или SAMS поставить

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
настроил на апаче mod_rewrite
sudo a2enmod rewrite
в конфиге сайта добавил строки:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.html
RewriteRule ^(.*)$ /index.html [L]
index.html валяется в корне апача.
в iptables добавил правило, заворачивающее все что идет на порт 80  на апач.
-теперь любая ссылка не на порт сквида отображает страничку с апача.  Только вот проблема теперь - после перенастройки необходимо отчищать кэш браузера т.к. браузер ложит страницу в кэш и после перенастройки всеравно отображает страницу с настройками вместо правильной :)
Пробовал добавлять мета теги в страничку
<meta http-equiv="Cache-Control" content="no-cache">пробовал ставить мод апача mod_еxpires
sudo a2enmod еxpiresдобавлял в конфиг :
ExpiresActive on
ExpiresByType text/html "now"
всеравно ложится в кэш браузера и помогает только чистак кэша.
Вот какой ответ апач посылает браузеру:
Date: Mon, 21 Dec 2009 17:26:17 GMT
Server: Apache
Last-Modified: Mon, 21 Dec 2009 00:53:13 GMT
Etag: "207b4-4a2-47b328394f040"
Accept-Ranges: bytes
Cache-Control: max-age=0
Expires: Mon, 21 Dec 2009 17:26:17 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 734
Content-Type: text/html; charset=UTF-8

200 OK

Как заставить апач отвечать браузеру не кешировать страничку ?


Пользователь решил продолжить мысль 21 Декабря 2009, 06:14:29:
Изучай rewrite engine в апаче. Только вот к чему столько геммора, если можно весь трафик сразу на сквид завернуть??

на transparent сквид можно конечно завернуть весь трафик, только в таком режиме он работает только с http
а "гемора" столько - для того , чтоб довести идею до конца - может кому еще пригодится . Допустим есть КПК где не очень удобно набирать адреса, поэтому народ ходит по ссылкам, записанным в закладках и вместо странички настроек выводить ему ошибку 404 с апача как-то не правильно.

Пользователь решил продолжить мысль 21 Декабря 2009, 16:49:17:
Хм - странно - сейчас попробовал - страничка в браузере после перенастройки обновилась на правильную :)  Блин - пол ночи изучал моды апача и почему он не отвечает браузеру не помещать страницу в кеш а сейчас просто все заработало  :idiot2: Похоже все было из-за разницы во времени сервера и клиента : апач говорил браузеру время последнего изменения страницы соответственно это время должно стать временем, когда страница устареет , а на клиенте это время еще не настало... :D

Всем спасибо за помощь - похоже проблема решена - осталось только потестить.
« Последнее редактирование: 21 Декабря 2009, 21:11:16 от Scorpikor »

 

Страница сгенерирована за 0.029 секунд. Запросов: 19.