the fast, reliable localhost tunneling solution


HTTP SVN Server Support Broken With Pagekite

By John Brisbin 2013-06-25, 19:36

We have been trying to setup an SVN server using HTTP/s with pagekite providing the external connection.

We have the SVN server working with svn+ssh via Pagekite. We have the SVN server working with http (apache) on the LAN. We have the http server (apache) working with Pagekite. We have the http server working with SVN if we use a manually created ssh tunnel.

What we cannot get working is the same SVN server via HTTP and Pagekite.

The config:

cat 80_httpd.rc

# Expose the local HTTPD

service_on = http:svn-@kitename : localhost :80 : @kitesecret
service_on = http:REDACTED.org : localhost:80 : @kitesecret

#
# Uncomment the following to globally DISABLE the request firewall.  Do this
# if you are sure you know what you are doing, for more details please see
#
insecure
#
# To disable the firewall for one kite at a time, use lines like this::
#
#service_cfg = KITENAME.pagekite.me/80 : insecure : True
#

The error message:

svn co http://svn-REDACTED.pagekite.me/svn/tools
svn: REPORT of '/svn/tools/!svn/vcc/default': Could not read status line: connection was closed by server (http://svn-REDACTED.pagekite.me)

We have looked in the apache logs, the system logs and the pagekite logs without finding any indication of an error corresponding to the failure.

Debugging suggestions welcome. Redacted parts available privately.

Comments

  1. John Brisbin said on 2013-07-09, 21:46
    Some issue with pagekite proxy seems to require the following additional config in the httpd.conf file of apache:
    # Timeout: The number of seconds before receives and sends time out.
    #
    Timeout 300000
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection).
    #
    KeepAlive On
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    #
    MaxKeepAliveRequests 0
    #
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    #
    KeepAliveTimeout 500000

    The important item seems to be the KeepAlive On option.
    That and the remainder are recommended for good performance with http based svn, so the addition is no loss.
    Permalink

Leave a comment

( (Please leave these blank: )

We use Gravatar for commenter's photos. Get your own, it's free!