Мне нужно подключить свой скрипт cgi Mercurial server через субдомен Apache VirtualHost вместе с авторизацией.Переадресация поддомена Apache VirtualHost на скрипт cgi Mercurial
Мой апач работает на 80 и 91. Apache обслуживает Mercurial через
C: \ WAMP \ Bin \ Apache \ Apache2.2.21 \ CGI-BIN \ hgweb.cgi и через
, доступнуюhttp://my.com/cgi-bin/hgweb.cgi и http://localhost/cgi-bin/hgweb.cgi
Все хорошо, он служит совершенно там. Моя цель заключается в субдомене как:
, без трейлинга CGI-BIN/hgweb.cgi
Я получил следующий URL-адрес для работы с конфигурацией приведен ниже:
http://hg.my.com/cgi-bin/hgweb.cgi
... но он не имеет доступа к CSS и изображения надлежащим образом (в отличие от более совершенного обслуживания)
Мой конфиг до сих пор:
ScriptAlias /hg "/cgi-bin/hgweb.cgi"
<VirtualHost *:80>
ServerName hg.my.com
ServerAlias hg.my.com
#ScriptAlias/"/cgi-bin/hgweb.cgi"
# <Directory />
# Order Deny,Allow
# Allow from all
# </Directory>
# ProxyPass /stylesheets !
# ProxyPass /javascripts !
# ProxyPass /images !
ProxyPassMatch ^.*/static(/.*\.css)$ http://localhost:91/cgi-bin/hgweb.cgi/static/$1
ProxyPassMatch ^.*/static(/.*\.js)$ http://localhost:91/cgi-bin/hgweb.cgi/static/$1
ProxyPassMatch ^.*/static(/.*\.png)$ http://localhost:91/cgi-bin/hgweb.cgi/static/$1
ProxyPassMatch ^.*/static(/.*\.gif)$ http://localhost:91/cgi-bin/hgweb.cgi/static/$1
ProxyPreserveHost On
ProxyPass/http://localhost:91/cgi-bin/hgweb.cgi
ProxyPassReverse/http://localhost:91/cgi-bin/hgweb.cgi
<Proxy *>
#DirectoryIndex hgweb.cgi
#ScriptAlias//hgweb.cgi
# # Order Allow,Deny
# # Allow from all
Order Deny,Allow
Allow from 127.0.0.1
AuthUserFile C:\wamp\.htpasswd
AuthName "Please Log In"
AuthType Basic
require user admin
require user dev
</Proxy>
</VirtualHost>
Очевидно, я использую время заслуженный подход Google-проб и ошибок, и я из моей глубины здесь.
Таким образом, мой энергичный эго бессмысленных determinination для самообеспечения, которые в противном случае, кажется, служить так хорошо, теперь исчерпаны и наполнена враждебностью к проблеме под руку - подводит меня здесь, шляпа в руке, чтобы спросить:
«Брат, вы можете избавиться от копейки?»
Я попробовал ваш код, но он задыхался на участке, так что я вернулся шаг за шагом от orig.conf и выяснил, как делать то, что я хотел - но мне пришлось поместить hgweb.cgi в DocumentRoot. Моя интуиция говорит мне, что это плохо, что это за история? –
Пока у вас есть ScriptAlias, ни один файл не будет подан из корня документа, но вы, вероятно, можете просто использовать блок для авторизованного доступа к этому каталогу вместо использования DirectoryRoot. Что не работает в моем теге Location. Я не проверял синтаксис, но это лучший способ сделать это и работать. –
Я использую wamp и Apache 2.2.21 - я не смотрел в журналы, но он не загружался. Я использую 'AddHandler cgi-script .cgi', а затем' Options ExecCGI' в ' '. Я не использую VH для hg.my.com, поскольку он, кажется, забирает меня туда для любого субдомена, который не соответствует моим другим VH, - что для меня все. Я предполагаю, что теперь я могу настроить его больше, так как я понимаю синтаксис VH немного больше.Я должен был «не-auth» других корней VH, которые у меня были, которые происходят позже в конфиге - я должен понять, что настройки каскадируются так? –