• Calin Seciu's avatar
    Don't add the host into the url opaque param · d5e2e8d0
    Calin Seciu authored
    Adding the host into the URL.Opaque parameter creates an absolute
    uri request like:
    
        GET https://gitlab.com/api/v3/... HTTP/1.1
    
    instead of:
    
        GET /api/v3/... HTTP/1.1
    
    Apache seems to have a problem with absolute uri requests when used
    as a reversed proxy, double encoding %2F to %252F before passing the
    request to GitLab, which breaks GitLab's api that accepts NAMESPACE/PROJECT.
    
    The proxy config used is:
    
        ProxyPass / http://127.0.0.1:8080/ nocanon
    
    'nocanon' parameter is the one that prevents double encoding, but it
    seems to work only for relative uri requests.
    
    An alternative is to use the mod_rewrite module directly instead of
    the ProxyPass directive as:
    
        RewriteEngine On
        RewriteRule ^(.*) http://127.0.0.1:8080$1 [NE,P]
    
    with the 'NE' flag (no escape) which works fine with absolute uri
    requests. There are performance issues with this method as explained
    here http://httpd.apache.org/docs/current/rewrite/flags.html#flag_p
    d5e2e8d0
Name
Last commit
Last update
examples Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CHANGELOG.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
branches.go Loading commit data...
commits.go Loading commit data...
deploy_keys.go Loading commit data...
gitlab.go Loading commit data...
groups.go Loading commit data...
issues.go Loading commit data...
labels.go Loading commit data...
merge_requests.go Loading commit data...
milestones.go Loading commit data...
namespaces.go Loading commit data...
notes.go Loading commit data...
project_snippets.go Loading commit data...
projects.go Loading commit data...
repositories.go Loading commit data...
repository_files.go Loading commit data...
services.go Loading commit data...
session.go Loading commit data...
settings.go Loading commit data...
strings.go Loading commit data...
system_hooks.go Loading commit data...
users.go Loading commit data...