Перейти к содержимому


Фото
- - - - -

Создание зеркала обновлений на Linux сервере для Windows машин


  • Please log in to reply
203 ответов в этой теме

#141 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 22 Октябрь 2011 - 14:31

Не нужно ему ничего делать. Веб-сервер получает прокси-запрос, игнорирует удаленный хост из запроса, а отдает соответствующий локальный файл. Никаких особых настроек для Апача у меня нет.
(Попробуйте в браузере задать прокси = www.yandex.ru:80 и открыть www.google.com)

#142 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 22 Октябрь 2011 - 14:31

А вы объяснили этому "прокси", что он должен делать суровые перенаправления?

Эммм, а можно по-подробнее? То ли в мануале на wiki этой информации нет, то ли я её проглядел

Не нужно ему ничего делать. Веб-сервер получает прокси-запрос, игнорирует удаленный хост из запроса, а отдает соответствующий локальный файл. Никаких особых настроек для Апача у меня нет.

Почему тогда не работает у меня?

Сообщение было изменено Wertrigo: 22 Октябрь 2011 - 14:34


#143 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 22 Октябрь 2011 - 14:50

Почему тогда не работает у меня?

Раз пусто в логах Апача, значит, так или иначе, запросы не доходят до него :) (Посмотрите личные сообщения)

#144 basid

basid

    Guru

  • Posters
  • 4 553 Сообщений:

Отправлено 22 Октябрь 2011 - 18:10

Эммм, а можно по-подробнее? То ли в мануале на wiki этой информации нет, то ли я её проглядел

Обычный (без прокси) запрос делается так:
1. Спрашиваем у DNS/hosts какой IP адрес у запрошенного сайта;
2. Подключаемся к выданному IP-адресу, отправляем строку запроса (без хостовой части) и указываем в заголовках http-запроса какой сайт нам нужен.
Через прокси получается так:
Подключаемся к прокси серверу и отправляем исходный запрос, без каких-либо модификаций.
Пункты 1 и 2 выполняет сам прокси.
Так вот в статье на вики упомянута необходимость настройки DNS так, чтобы для имён ВСО возвращался IP-адрес вашего веб-сервера.
Насколько я понимаю, вы ничего такого не делали, поэтому и был задан вопрос о суровых перенаправлениях.

#145 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 22 Октябрь 2011 - 18:48

в статье на вики упомянута необходимость настройки DNS так

Это было в другой статье :)

Пункты 1 и 2 выполняет сам прокси.

А при запросе через прокси тоже нужно сначала у DNS/hosts узнать её IP адрес, подключиться к нему итд... Т.е. разница в наличии хвостовой части (которая не в хвосте, а в начале :D ) И как показывает практика, современные веб-серверы достаточно умны (может, не все), чтобы самостоятельно убирать "хвост".

#146 basid

basid

    Guru

  • Posters
  • 4 553 Сообщений:

Отправлено 22 Октябрь 2011 - 20:23

А при запросе через прокси тоже нужно сначала у DNS/hosts узнать её IP адрес

Нужно. Существенная разница в том, что этот адрес не нужно подделывать.

#147 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 23 Октябрь 2011 - 03:40

В общем понял причину. При запросе прокси, он возвращает клиенту ИП этого прокси, а если открывать ресурс по ИП, то открывается первый в очереди, который записан в конфиге виртуальных хостов, соответственно если я поставлю drweb.lan первым в очереди виртуальных хостов, то все работает и Др.Веб обновляется, но это меня не устраивает, т.к. мне надо чтобы по IP открывался совершенно другой ресурс - главный. Если вы знаете, как в апаче настроить эту штуковину, то будет отлично. Вот сижу изучаю мануалы по конфигурированию виртуальных хостов, в прошлый раз только верхов нахватался - по моему надо другой порт дать для др.веба

#148 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 23 Октябрь 2011 - 06:00

Разобрался. Добавил Апачу слушать еще один свободный порт (85). В конфиге виртуальных хостов добавил новый хост:

<VirtualHost *:85>
DocumentRoot "D:/bases/drweb"
ErrorLog "C:/web/logs/drweb.error.log"
CustomLog "C:/web/logs/drweb.log" common
</VirtualHost>

Директиву ServerName и другие можно не добавлять. При запросе на веб-сервер 85 порта пересылает в D:/bases/drweb, т.к. это первый и единственный виртуальный хост с 85 портом. Соответственно в Прокси др.Веба прописываю drweb.lan:85 и все работает

В общем можете добавить весь этот опыт в вику, т.к. наверняка мало у кого веб-сервер работает только ради обновлений др.веба

Сообщение было изменено Wertrigo: 23 Октябрь 2011 - 06:01


#149 basid

basid

    Guru

  • Posters
  • 4 553 Сообщений:

Отправлено 23 Октябрь 2011 - 14:00

Не совсем вы разобрались, но так тоже можно.

#150 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 23 Октябрь 2011 - 14:50

Василий А. Сидоров, интересно выслушать ваш вариант

Сообщение было изменено Wertrigo: 23 Октябрь 2011 - 14:51


#151 basid

basid

    Guru

  • Posters
  • 4 553 Сообщений:

Отправлено 23 Октябрь 2011 - 18:27

Ровно то, что написано на вики - виртуальные сервера плюс DNS-spoofing.

#152 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 23 Октябрь 2011 - 19:05

Ровно то, что написано на вики - виртуальные сервера плюс DNS-spoofing.

Еще раз: Wertrigo делал по моей статье (когда веб-сервер просто работает как прокси, безо всяких DNS-spoofing)
Вы ссылаетесь на другую

Сообщение было изменено loea: 23 Октябрь 2011 - 19:05


#153 Timur Abdrakhmanov

Timur Abdrakhmanov

    Newbie

  • Posters
  • 8 Сообщений:

Отправлено 24 Октябрь 2011 - 16:02

Wertrigo, с виртуальными хостами в таком ключе все же играться не стоит (открывать еще один свободный порт). И ServerName использовать все таки желательно дабы был порядок.
Хожу лесами и морями ...

#154 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 30 Октябрь 2011 - 02:44

Timur Abdrakhmanov, у меня Оутпост прикрывает все, тем более доменную службу которая и так работает в сети никто изменять не будет, поэтому открытие еще одного порта на мой взгляд проще и лучше.

Появилась новая проблемка, даже не знаю с чем связано. 25 октября у меня закончился журнальный ключ, через 2 дня я поставил свежий ключ, тоже журнальный - действует до 8 декабря. Но базы скрипт не обновляет. Я даже поставил в нем 10 попыток в итоге вот что:


*******************************
A few keys are in folder:
C:\drweb_upd/drweb32.key:
		$key_id = "0011430038";
		$key_md5 = "36908e62156e83d25889fa102279e4c9";
Use some of these values
*******************************
 
[2011-10-30 09:29:19]
It seems previous attempt was stalled more than 10 mins ago
Trying [[url="http://update.msk12.drweb.com/xmlzone/release/700/sspace/]"]http://update.msk12....se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 1
Trying [[url="http://update.msk3.drweb.com/xmlzone/release/700/sspace/]"]http://update.msk3.d...se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 2
Trying [[url="http://update.us.drweb.com/xmlzone/release/700/sspace/]"]http://update.us.drw...se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 3
Trying [[url="http://update.us1.drweb.com/xmlzone/release/700/sspace/]"]http://update.us1.dr...se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 4
Trying [[url="http://update.msk12.drweb.com/xmlzone/release/700/sspace/]"]http://update.msk12....se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 5
Trying [[url="http://update.us.drweb.com/xmlzone/release/700/sspace/]"]http://update.us.drw...se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 6
Trying [[url="http://update.msk5.drweb.com/xmlzone/release/700/sspace/]"]http://update.msk5.d...se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 7
Trying [[url="http://update.drweb.com/xmlzone/release/700/sspace/]"]http://update.drweb....se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 8
Trying [[url="http://update.msk5.drweb.com/xmlzone/release/700/sspace/]"]http://update.msk5.d...se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied, retrying 9
Trying [[url="http://update.drweb.com/xmlzone/release/700/sspace/]"]http://update.drweb....se/700/sspace/][/url]
[versions.xml]: Error 451 Access denied

Так вот Error 451 Access denied это запрет доступа из-за ключа или чего-то другого?

Сообщение было изменено Wertrigo: 30 Октябрь 2011 - 02:45


#155 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 30 Октябрь 2011 - 04:53

Через антивирус с этим ключом на прямую с сервера др.веба обновилось норм, а через скрипт то, что я уже запостил выше.

#156 loea

loea

    Newbie

  • Posters
  • 27 Сообщений:

Отправлено 30 Октябрь 2011 - 09:00

Через антивирус с этим ключом на прямую с сервера др.веба обновилось норм, а через скрипт то, что я уже запостил выше.

Наличие ключа в каталоге не является залогом успешного обновления, а лишь позволяет вычислить для него нужные переменные. Которые нужно вставить в скрипт вручную. Что, очень похоже, не сделано, т.к. я, внеся эти данные у себя, обновился нормально...

#157 Wertrigo

Wertrigo

    Newbie

  • Posters
  • 16 Сообщений:

Отправлено 30 Октябрь 2011 - 10:24

Хм, раньше я ключ рядом ложил и работало. В общем прописал и все ОК - спасибо.

#158 wishuwerehere

wishuwerehere

    Newbie

  • Members
  • 2 Сообщений:

Отправлено 29 Ноябрь 2011 - 08:48

Добрый день! пытаюсь настроить обновлялку баз drweb 7, настроил по Вашему скрипту, но чего то , не работает -- папки вроде создаёт, скачивает файлик versions.xml, но потом просто висит и всё((

[quote]
PHP Deprecated: Function eregi() is deprecated in /opt/drweb/bin/drwebup.php on line 415 [2011-11-28 16:28:15] Trying [http://83.222.3.90/x...elease/700/av/] [versions.xml]: OK, timestamp is: 2011-11-28 11:26:53 [/var/www/drweb7/xmlzone/release/700/av/versions.xml]: Unknown
[/quote]
Насколько я понял что, запуск скрипта через php -f /opt/drweb/bin/имя скрипта.php должен создать папки и скачать базы? и а прокси сервер нужен только для перенаправления запросов клиентов?

вот чего я подправил, гляньте , если чего не так?
[/quote]
[quote]
$mailto = "";
$subj = "Drweb update";
$ignore_ts = 0;
$skipok = 1;
$wget = "/usr/bin/wget";
$local = "/var/www/drweb7";
$new_folder_mode = 0755;
$pid = "httpd";
$stalled = 3600;
$force = "c:/apache/tmp/drweb-need-update";
$key_id = "**********";
$key_md5 = "********************************";

$zones=<<<ZONES
<protocol value="http"/>
<path value="/xmlzone/release/700/av"/>
<zone name="zone13" address="update.drweb.com"/>
<zone name="zone01" address="87.242.75.216"/>
<zone name="zone02" address="89.111.188.80"/>
<zone name="zone03" address="89.111.188.126"/>
<zone name="zone04" address="91.121.123.94"/>
<zone name="zone05" address="92.46.53.252"/>
<zone name="zone06" address="213.59.1.26"/>
<zone name="zone07" address="81.176.67.171"/>
<zone name="zone08" address="81.177.37.3"/>
<zone name="zone09" address="83.222.3.90"/>
<zone name="zone10" address="87.242.75.74"/>
<zone name="zone11" address="87.242.75.215"/>
<zone name="zone12" address="update.drweb.com"/>
<zone name="zone13" address="update.msk.drweb.com"/>
<zone name="zone14" address="update.msk3.drweb.com"/>
<zone name="zone15" address="update.us.drweb.com"/>
<zone name="zone16" address="update.msk5.drweb.com"/>
<zone name="zone17" address="update.msk6.drweb.com"/>
<zone name="zone18" address="update.msk7.drweb.com"/>
<zone name="zone19" address="update.msk11.drweb.com"/>
<zone name="zone20" address="update.msk12.drweb.com"/>
<zone name="zone21" address="update.fr1.drweb.com"/>
<zone name="zone22" address="update.us1.drweb.com"/>
<zone name="zone23" address="update.kz.drweb.com"/>
ZONES;[/quote]

#159 DoC

DoC

    Добрый Э-э-х

  • Posters
  • 1 477 Сообщений:

Отправлено 29 Ноябрь 2011 - 09:44

а к пыху поставить нужные модули не?
под CentOS 5 на пыхе 5.3 и 5.2 работает без проблем.

и еще - сей скрипт изначально заточен под *nix платформы - посему на виндах может вести себя непредсказуемо.

Сообщение было изменено DoC: 29 Ноябрь 2011 - 09:44

Чукча не читатель! Чукча - писатель!


#160 wishuwerehere

wishuwerehere

    Newbie

  • Members
  • 2 Сообщений:

Отправлено 29 Ноябрь 2011 - 11:07

ммм, шо есть пых? php?
кстати по поводу этого препреждения

PHP Deprecated: Function eregi() is deprecated in /opt/drweb/bin/drwebup.php

можно заменить функцию eregi()
на preg_match и ошибка исчезает

вообщем разобрался, всё работает, и есссс-нно у меня сей скрипт работает на unix --Fedora
всё супер просто ))