Nginx reverse proxy и WebDav

usows usows at pomorsu.ru
Tue Sep 17 13:15:29 UTC 2013


Доброго времени суток

Столкнулся сейчас с проблемой. Есть некий сервер, к нему идет обращение 
через reverse-proxy. До недавнего времени работа шла через прокси на 
апаче, сейчас в качестве прокси используется nginx
Проблема в том, что после переезда перестал работать WebDav для 
клиентов на Windows

Конфиг апача:


<VirtualHost *:80>
   ServerName server.example.ru
    Redirect permanent /        https://server.example.ru/
    ErrorLog /var/log/apache2/server.example.ru/error.log
    CustomLog /var/log/apache2/server.example.ru/access.log combined
</VirtualHost>

<VirtualHost *:443>
   ServerName server.example.ru
   ProxyRequests off

   Alias /errors/ "/var/www/errors/"
   <Proxy *>
     Order deny,allow
     Allow from all
   </Proxy>

   ProxyPass / http://server.example.local:8080/
   ProxyPassReverse / http://server.example.local:8080/

   ErrorLog /var/log/apache2/server.example.ru/error.log
   CustomLog /var/log/apache2/server.example.ru/access.log combined

   SSLEngine on
   SSLOptions +StrictRequire
   SSLProtocol -all +TLSv1 +SSLv3
   SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
   SSLCertificateFile /etc/ssl/server/ssl.crt
   SSLCertificateKeyFile /etc/ssl/server/ssl.key
   SSLCertificateChainFile /etc/ssl/server/sub.class1.server.ca.pem
   SSLCACertificateFile /etc/ssl/server/ca.pem
   SSLVerifyClient none
   SSLProxyEngine off
   SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown 
downgrade-1.0 force-response-1.0
</VirtualHost>

Конфиг nginx:

server {
         listen 80;
         server_name server.example.ru;

         rewrite     ^ https://server.example.ru$request_uri? permanent;
         access_log /var/log/nginx/server/access.log;
         error_log /var/log/nginx/server/error.log;
}

server {
         listen 443 ssl;
         server_name server.example.ru
         ssl                     on;

         ssl_certificate         /etc/nginx/ssl/server.crt;
         ssl_certificate_key     /etc/nginx/ssl/server.key;

         access_log /var/log/nginx/server/access.log;
         error_log /var/log/nginx/server/error.log;

         location / {
                 proxy_set_header Host $host;
                 proxy_set_header X-Real-IP $remote_addr;
                 proxy_set_header X-Forwarded-Proto https;
                 proxy_set_header X-Forward-For 
$proxy_add_x_forwarded_for;

                 chunked_transfer_encoding off;

                 proxy_redirect off;
                 proxy_pass http://server.example.local:8080/;
         }
}


Заранее спасибо за помощь

Сергей



Подробная информация о списке рассылки nginx-ru