Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2008-08-28

reverse proxy, url rewrite под виндой и IIS

Начало истории тут
vasnake.blogspot.com
Конкретнее, надо было мне представить пользователям сайт Zope/Plone болтающийся на порту 8080 как подраздел корпоративного сайта, фактически подмонтировать его в папочку сайта, который под IIS-ом и работал.

Решил я эту задачку. Телеграфно: в блоге
coderjournal.com/tags/url-rewrite
нашел описание тулзы URL Rewriter and Reverse Proxy

Скачал это дело, в IIS организовал "виртуальный каталог" для моего подсайта, в этот каталог положил файлик web.config следующего содержания:

<?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="managedFusion.rewriter" type="ManagedFusion.Rewriter.Configuration.ManagedFusionSectionGroup, ManagedFusion.Rewriter"> <section name="rules" type="ManagedFusion.Rewriter.Configuration.RulesManagerSection, ManagedFusion.Rewriter"/> </sectionGroup> </configSections> <managedFusion.rewriter> <rules fileName="ManagedFusion.Rewriter.rules" rebaseClientPath="false" rewriteFormPostBack="true" /> </managedFusion.rewriter> <system.web> <httpModules> <add name="RewriterModule" type="ManagedFusion.Rewriter.RewriterModule, ManagedFusion.Rewriter"/> </httpModules> </system.web> </configuration>

после, туда же (в каталог) положил файлик ManagedFusion.Rewriter.rules
такого содержания:


RewriteEngine On
# http://vdesk.algis.com/rngis/news
# http://127.0.0.1:8080/VirtualHostBase/http/vdesk.algis.com:80/rngis/news
RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/vdesk.algis.com:80/$1 [P]

А в подкаталог с именем Bin положил dll-ки из скачанного пакета.

Потом сделал для своего виртуального каталога в IIS - как советует автор:

Setup your frontend server to process everything through the .NET framework.

1. Open IIS and right-click on the website and select Properties.
2. Click the Configuration button under Application Settings section
3. Click the Insert… button to create a new wildcard mapping
4. Set the executable textbox to aspnet_isapi.dll file location.
for .net 2.0, 3.0, 3.5: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
5. Make sure the checkbox Verify that file exists is not checked.
6. Press OK to confirm and close all the windows.

И ничего у меня не заработало. Но я скачал дотнет фреймворк 3.5, установил его, перезапустился... опля. Работает.

Да, перенаправлятор составляет урлы странного вида. Такие урлы понимает Zope-вский модуль Virtual Host Monster. Это ему такие строчки нужны, чтобы в генерируемых страницах урлы были не как фактически, а как надо, с учетом подмонтирования.


Особо следует отметить, что в моем примере урл
http://vdesk.algis.com/rngis/news
отображался на реальный
http://127.0.0.1:8080/rngis/news
более сложные случаи у меня терпения не хватило наладить.

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)