SubversionProblem: Reverse Proxying to Apache with mod_dav_svn
Maxim Dounin
mdounin at mdounin.ru
Mon Sep 14 12:13:28 MSD 2009
Hello!
On Mon, Sep 14, 2009 at 02:24:22AM -0400, glathe.helko at googlemail.com wrote:
> Hi everyone.
>
> I have NGINGX installed in front of an Apache with mod_dav_svn to access my Subversion Repositories via WebBrowser and with SVN-Clients.
>
> Adding and committing small files is working well.
>
> But when I try to add/commit a large file (files with ca more than 100 or 200 KiloByte) I get an error.
>
> The NGINGX-ErrorLog says:
> 2009/09/14 01:02:06 3596#0: signal process started
> 2009/09/14 01:02:30 3597#0: *75 sendfile() failed (38:
> Function not implemented) while sending request to upstream, client:
> 85.178.219.182, server: svn.my.synology-diskstation.de, request:
Looks like either your OS or filesystem you are using for
client_temp_path has no sendfile() support. Switching off
sendfile should fix this.
Maxim Dounin
> "PUT /repos/Paper-2009-SEISCONF/!svn/wrk/cb91b057-5bb4-084b-bd76-57f91625eb1e/Einfuehrung_Richtlinien%20%5BSchreibgesch%C3%BCtzt%5D.pdf
> HTTP/1.1", upstream:
> "http://127.0.0.1:2080/repos/Paper-2009-SEISCONF/!svn/wrk/cb91b057-5bb4-084b-bd76-57f91625eb1e/Einfuehrung_Richtlinien%20.pdf",
> host: "svn.my.synology-diskstation.de"
>
> The error messages of the Tortoise SVN Client:
> Error: Commit failed (details follow):
> Error: PUT of '/repos/Paper-2009-SEISCONF/!svn/wrk/cf98065e-f6ff-bd45-be26-ba027b7b69bc/Einfuehrung_Richtlinien%20%5BSchreibgesch%C3%BCtzt%5D.pdf': 502 Bad Gateway (https://svn.my.synology-diskstation.de)
>
> The nginx.conf part for svn:
> server {
> listen 7080;
> server_name svn.my.synology-diskstation.de;
> rewrite ^(.*) https://svn.my.synology-diskstation.de$1 redirect;
> }
>
> # HTTPS server
> #
> server {
> listen 7443;
> server_name svn.my.synology-diskstation.de;
>
> ssl on;
> ssl_certificate /opt/etc/apache2/ssl-cert/subversion.crt;
> ssl_certificate_key /opt/etc/apache2/ssl-cert/subversion.key;
>
> ssl_session_timeout 5m;
>
> ssl_protocols SSLv2 SSLv3 TLSv1;
> ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
> ssl_prefer_server_ciphers on;
> add_header Front-End-Https on;
>
> location /repos/ {
> set $fixed_destination $http_destination;
> if ( $http_destination ~* ^https(.*)$ )
> {
> set $fixed_destination http$1;
> }
>
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header Destination $fixed_destination;
> proxy_pass http://127.0.0.1:2080/repos/;
> }
>
> Also in th http{} section of nginx.conf the following is set:
>
> include mime.types;
> default_type application/octet-stream;
> server_names_hash_bucket_size 33;
> log_format main '$http_x_forwarded_for';
> #log_format main '$request_uri - $server_addr - $server_port - $remote_addr - $remote_port - $remote_user [$time_local] "$request" '
> # '$status $body_bytes_sent "$http_referer" '
> # '"$http_user_agent" "$http_x_forwarded_for"';
>
> access_log /opt/etc/nginx/logs/access.log;
>
> sendfile on;
> #tcp_nopush on;
>
> #keepalive_timeout 0;
> keepalive_timeout 65;
> client_max_body_size 65M;
> client_body_buffer_size 128K;
> #gzip on;
>
>
> Has anyone an idea whats wrong?
> Only files with size smaller than 100 KiloBytes can be added/committed to the SVN Repository.
>
> Thanks in advance, Helko
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?2,6789,6789#msg-6789
>
>
More information about the nginx
mailing list