RhodeCode прокси IIS 7 - PullRequest
       0

RhodeCode прокси IIS 7

2 голосов
/ 23 октября 2011

Я установил RhodeCode 1.2.2 на Windows 2008R2 (64-битную) коробку.

Я настроил IIS 7 в качестве прокси-сервера (маршрутизация запросов приложений + перезапись URL-адресов) для RhodeCode, работающего с 127.0.0.1:5000.

Хранилище доступно через "https://subdomain.domain.de".

В сводке хранилища URL-адрес клона указывает на: https://[username]@127.0.0.1:5000/SomeProject

На стороне клиента я могу клонировать репозиторий при замене "127.0.0.1:5000" с "subdomain.domain.de".

Конечно, мне бы хотелось, чтобы RhodeCode отображал URL прокси ("subdomain.domain.de") вместо 127.XXX ...

Я просматриваю сеть вверх и вниз, и единственное, что я нашел, это Apache имеет параметр «ProxyPreserveHost On», который делает свое дело. тем не мение Я не нашел ничего подобного для IIS.

Есть ли где-то параметр внутри "production.ini", где я могу определить URL прокси? Или кто-то нашел хорошо скрытые настройки в IIS?

Любая помощь очень ценится :-)


спасибо за ваш ответ! Я уже использую ARR и настраиваю обратный прокси, я могу получить доступ к RhodeCode через прокси. Тем не менее, похоже, что значение HTTP_HOST не передается в Paster.

В IIS я настраиваю следующие переменные сервера и устанавливаю их в рамках правила обратного прокси:

<set name="HTTP_HOST" value="[subdomain.domain.de]" />
<set name="HTTP_X_FORWARDED_SERVER" value="[subdomain.domain.de]" />
<set name="HTTP_X_ORIGINAL_HOST" value="[subdomain.domain.de]" />
<set name="HTTP_X_HTTP_HOST" value="[subdomain.domain.de]" />
<set name="HTTP_X_URL_SCHEME" value="https" />

но это никак не влияет.

В ответе, связанном ранее, он предложил скопировать эти значения переменных обратно в HTTP_HOST (в моем случае это должен быть paster). Это выглядит немного излишним для меня, по сравнению с простым «ProxyPreserveHost On» в apache. У меня такое чувство, что я что-то здесь упустил.

Ура, Sörnt

Ответы [ 3 ]

2 голосов
/ 08 августа 2012

Итван правильно, это сработает.

Раскомментирование clone_uri оставит значение по умолчанию clone_uri. Вы можете заставить clone_uri использовать ваш домен, указав следующую строку:

clone_uri = {scheme}://{user}{pass}[subdomain.domain.de]{path}

PS: работает на версии 1.3.6

1 голос
/ 23 марта 2012

Я только что установил RhodeCode 1.3.3 и попал в эту проблему. Вы можете отредактировать эту строку в файле конфигурации, чтобы она заработала:

## overwrite schema of clone url
## available vars:
## scheme - http/https
## user - current user
## pass - password 
## netloc - network location
## path - usually repo_name

#clone_uri = {scheme}://{user}{pass}{netloc}{path}

clone_uri = {scheme}://{user}{pass}yourdomain.com{path}
1 голос
/ 25 октября 2011

Я сейчас работаю над обратным проксированием через https для rhodecode с apache на centos6.

Для Apache конфигурация , отмеченная marcin of rhodecode fame is:

<VirtualHost *:80>
    ServerName hg.myserver.com
    ServerAlias hg.myserver.com

    <Proxy *>
      Order allow,deny
      Allow from all
    </Proxy>

    #important !
    #Directive to properly generate url (clone url) for pylons
    ProxyPreserveHost On

    #rhodecode instance
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/

    #to enable https use line below
    #SetEnvIf X-Url-Scheme https HTTPS=1
</VirtualHost>

Информацию о IIS-эквиваленте ProxyPreserveHost см. в разделе Маршрутизация запроса приложения , который был предоставлен в ранее в ответе MSFT MVP .

http-сервер на самом деле является httpserver python paste, поэтому ссылаясь на документацию python paste для httpserver (egg#Paste:http хорошо знакомо), конфигурация прокси отсутствует.Вам потребуется обратный прокси-сервер в IIS ( источник )

Я не уверен, почему marcin решил настроить обратный прокси-сервер, а не использовать поддержку httpserver пасты для https;но наличие IIS в поле запросов и привязка httpserver пасты к 127.0.0.1, вероятно, лучший выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...