Skip to content

Repository not found when accessed through HTTPS #568

@sdinot

Description

@sdinot

Hi,

Summary:

URL displayed by Redmine:

SSH: ssh://git@forge.example.net/orekit/orekit-main.git
HTTPS: https://sdinot@forge.example.net/git/orekit/orekit-main.git

Cloning attempts:

$ git clone ssh://git@forge.example.net/orekit/orekit-main.git
=> Success
$ git clone https://sdinot@forge.example.net/git/orekit/orekit-main.git
=> Fail, repository not found
$ git clone https://sdinot@forge.example.net:git/orekit/orekit-main.git
=> Success

The difference between the second and the third tries is that "**/git/" was replaced by ":**git/"

What's wrong?

Detailed explanation:

I just deployed Redmine 3.2 and Redmine Git Hosting 1.2 plugin in a fresh Debian Jessie 8.3 VM, using Apache 2.4.10, PostgreSQL 9.4.5, Gitolite 3.6.1 and RVM 1.26.11:

Environment:
  Redmine version                3.2.0.stable
  Ruby version                   2.1.5-p273 (2014-11-13) [i686-linux]
  Rails version                  4.2.5
  Environment                    production
  Database adapter               PostgreSQL
SCM:
  Git                            2.1.4
  Filesystem                     
  Xitolite                       2.1.4
Redmine plugins:
  redmine_bootstrap_kit          0.2.4
  redmine_git_hosting            1.2.0

I configured SSH and HTTPS access:

SSH server domain: forge.example.net
HTTPS server domain: forge.example.net
Subdirectory for HTTP access: git/
Enable Smart HTTP mode for new repositories by default?: HTTPS Only
Redmine has RW access on all Gitolite repositories: Yes
Directory and URL structure for Redmine-managed repositories: Hierarchical

In the "Config Test" tab of the plugin configuration interface, all items are green.

I created a project named "orekit" and a repository named "orekit-main". Therefore, the interface offers the following access url:

SSH: ssh://git@forge.example.net/orekit/orekit-main.git
HTTPS: https://sdinot@forge.example.net/git/orekit/orekit-main.git

So, I tried to clone this repository through the two protocols:

SSH attempt with offered url:

$ git clone ssh://git@forge.example.net/orekit/orekit-main.git
Cloning into 'orekit-main'...
remote: Counting objects: 51656, done.
remote: Compressing objects: 100% (11199/11199), done.
remote: Total 51656 (delta 31731), reused 51645 (delta 31725)
Receiving objects: 100% (51656/51656), 32.70 MiB | 11.26 MiB/s, done.
Resolving deltas: 100% (31731/31731), done.
Checking connectivity... done.

/opt/gitolite/.gitolite/logs/gitolite-2016-01.log:

2016-01-29.21:58:42     2767    ssh     ARGV=redmine_sdinot_10  SOC=git-upload-pack '/orekit/orekit-main.git'   FROM=192.168.0.12
2016-01-29.21:58:42     2767    pre_git orekit/orekit-main      redmine_sdinot_10       R       any     refs/.*
2016-01-29.21:58:42     2767            system,git,shell,-c,git-upload-pack '/opt/gitolite/repositories/orekit/orekit-main.git'
2016-01-29.21:58:45     2767    END

HTTPS attempt with offered url:

$ git clone https://sdinot@forge.example.net/git/orekit/orekit-main.git
Cloning into 'orekit-main'...
remote: Not Found
fatal: repository 'https://sdinot@forge.example.net/git/orekit/orekit-main.git/' not found

/var/log/apache2/forge.example.net.access_ssl.log:

192.168.0.12 - - [29/Jan/2016:22:01:16 +0100] "GET /git/orekit/orekit-main.git/info/refs?service=git-upload-pack HTTP/1.1" 404 1916 "-" "git/2.5.0"

/opt/redmine/current/log/redmine.log:

I, [2016-01-29T22:01:16.269120 #1235]  INFO -- : Started GET "/git/orekit/orekit-main.git/info/refs?service=git-upload-pack" for 192.168.0.12 at 2016-01-29 22:01:16 +0100

HTTPS attempt with alternative to offered url ("**/git/" was replaced by ":**git/"):

$ git clone https://sdinot@forge.example.net:git/orekit/orekit-main.git
Cloning into 'orekit-main'...
remote: Counting objects: 51656, done.
remote: Compressing objects: 100% (11199/11199), done.
remote: Total 51656 (delta 31731), reused 51645 (delta 31725)
Receiving objects: 100% (51656/51656), 32.70 MiB | 8.25 MiB/s, done.
Resolving deltas: 100% (31731/31731), done.
Checking connectivity... done.

/var/log/apache2/forge.example.net.access_ssl.log:

192.168.0.12 - - [29/Jan/2016:22:03:06 +0100] "GET /orekit/orekit-main.git/info/refs?service=git-upload-pack HTTP/1.1" 200 2324 "-" "git/2.5.0"
192.168.0.12 - - [29/Jan/2016:22:03:07 +0100] "POST /orekit/orekit-main.git/git-upload-pack HTTP/1.1" 200 35274723 "-" "git/2.5.0"

/opt/redmine/current/log/redmine.log:

I, [2016-01-29T22:03:06.766854 #1235]  INFO -- : Started GET "/orekit/orekit-main.git/info/refs?service=git-upload-pack" for 192.168.0.12 at 2016-01-29 22:03:06 +0100
I, [2016-01-29T22:03:07.149621 #1235]  INFO -- : Started POST "/orekit/orekit-main.git/git-upload-pack" for 192.168.0.12 at 2016-01-29 22:03:07 +0100

I don't understand that is wrong in the configuration. :(

Thanks in advance for your help!

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions