WebDav переименовывают сбои на Apache mod_dav установка позади NginX

Windows 7 RC истечет июнь 2010. Таким образом, Вы сможете продолжить использовать его до тех пор. Вы можете обновлять его до полной версии, но скорее всего они рекомендуют новую установку.

Они рекомендовали переустанавливание при перемещении от Беты до RC, но они обеспечили работу вокруг. Скорее всего, они обеспечат работу вокруг над RTM, если не можно, вероятно, найти путь.

Кроме того, ничто не бьет то новое установленное чувство ОС. Переустановка после 12 месяцев использования является, вероятно, хорошим планом так или иначе.

4
задан 12 March 2010 в 05:20
2 ответа

(Назад ко дням, когда я использовал Подверсию) у меня была подобная проблема с проксированием к Apache SVN от SSL Nginx frontend. Предположим, что SSL Nginx frontend является https://хост и мы хотели бы проксировать соединения с внутренним Apache сервер SVN http://svn

Проблема происходит, когда Вы пытаетесь скопировать ресурс, с Destination заголовок:

COPY /path HTTP/1.1
Host: host
Destination: https://host/another_path

Как видете Destination заголовок все еще содержит https схема. Фиксация довольно очевидна-

location / {
    # to avoid 502 Bad Gateway:
    # http://vanderwijk.info/Members/ivo/articles/ComplexSVNSetupFix
    set $destination $http_destination;

    if ($destination ~* ^https(.+)$) {
         set $destination http$1;
    }

    proxy_set_header Destination $destination;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;

    proxy_pass http://svn;
}
7
ответ дан 3 December 2019 в 03:03
  • 1
    Спаситель. Для кого-либо еще пытающегося сделать то же самое, мой regex на самом деле был похож на это: ^https (. +) ([:443]?) (. $ *) –  heymatthew 16 March 2010 в 00:19

Как @Cnly сказал, с помощью set, директива не будет работать, если будут специальные символы и в исходном Destination заголовке и в URL. (Я понятия не имею, почему)

я использовал директиву карты для решения вопроса.

http {
    map $http_destination $http_destination_webdav {
        ~*https://(.+) http://$1;
        default $http_destination;
    }

    server {
        # ...server settings...

        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header Destination $http_destination_webdav;

            proxy_pass http://svn;
        }
    }
}
0
ответ дан 3 December 2019 в 03:03

Теги

Похожие вопросы