| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > как выполнить cgi скрипт на удаленной машине |
| Автор: lemniscate 7.12.2010, 15:47 |
| Добрый день! Суть проблемы такая, есть freebsd сервер который смотрит в инет, имеет свое доменное имя, на нем стоит apache 2.0 php4 mysql и т.д. вообщем нормально работающий web сервер. Есть у нас в локалке сервер библиотечной программы ирбис, под windows xp, на котором стоит еще apache и специальный cgi скрипт который дает доступ к базе данных ирбис. Этот cgi скрипт написан на delphi (могу ошибаться) и робит ТОЛЬКО под windows, он конектится к ирбис получает нужные данные и выдает в виде html - все робит, все отлично. т.е. пользователи внутри локальной сети могут через браузер просматривать этот библиотечный каталог. Встала такая задача, надо чтобы посетители сайта, который работает под freebsd получили такой же доступ к этой библиотечной базе данных как и внутренние пользователи. По сути дела, решение простое: 1. на сайте создается страница с ссылкой на скрипт (http://192.168.4.202/cgi-bin/irbis32r_01/cgiirbis_32.exe?C21COM=F&I21DBNAM=STATIC&I21DBN=STATIC - адрес компа во внутренней сети) 2. надо чтобы cgi скрипт выполнялся на компе внутри сети (windows + apache, 192.168.4.202) и возвращал результат на web сервер (freebsd + apache, 192.168.4.1), но вот как это практически сделать не знаю. Попробовал совершенно тупой вариант - в httpd.conf - <Directory "http://192.168.4.202/cgi-bin"> однако сразу понял что робить не будет. Вообще под freebsd потестил cgi скрипты в локальных каталогах исполняются, т.е. настройки верные. Прошу помочь, бьюсь весь день. Спасибо! |
| Автор: Andres 7.12.2010, 16:03 |
| Ну для начала айпи нужно внешние прописывать, а не внутренние... Или сервер в той же локалке, но смотрит еще и в иннет? |
| Автор: Egik2 7.12.2010, 17:25 |
| Для этого можно использовать mod_proxy смотри http://all-my-opinions.blogspot.com/2010/12/blog-post.html |
| Автор: lemniscate 7.12.2010, 20:00 |
| да, у сервера два интерфеса, один смотрит во внутреннюю сеть, другой во внешнюю. |
| Автор: lemniscate 9.12.2010, 11:34 |
| спасибо за овтеты. попробовал следующее в httpd.conf веб сервера который смотрит наружу, с основным сайтом ProxyPass /cgi-bin http://192.168.4.202/cgi-bin ProxyPassReverse /cgi-bin http://192.168.4.202/cgi-bin Однако при попытке обратиться пишет вот что Forbidden You don't have permission to access /cgi-bin/ on this server. |
| Автор: Egik2 9.12.2010, 12:10 |
| Можешь прислать логи апача во время запуска и в момент, когда ты пытаешься делать запрос |
| Автор: lemniscate 9.12.2010, 12:50 |
| апач при пуске не выдает никаких ошибок. запускается работает. кстати попробовал назначить другой каталог с ним все робит отлично. но если назначаю дистанционный каталог /cgi-bin пишет - запрещено. в логах вот что [09/Dec/2010:14:47:01 +0500] "GET /1/ HTTP/1.1" 403 210 |
| Автор: MoLeX 10.12.2010, 06:23 |
| может попробовать CURL? |