git-credential-manager icon indicating copy to clipboard operation
git-credential-manager copied to clipboard

Can't connect via IIS Proxy

Open kagstrom2100 opened this issue 11 months ago • 1 comments

Version

2.4.1

Operating system

Windows

OS version or distribution

Windows Server 2022 (March Update)

Git hosting provider(s)

Other - please describe below

Other hosting provider

Self-Hosted Gitea

(Azure DevOps only) What format is your remote URL?

None

Can you access the remote repository directly in the browser?

Yes, I can access the repository

Expected behavior

When running the git clone https://mydomain.com/test/test.git the self-hosted git repo should sync to my local machine.

Actual behavior

When running the command git clone https://mydomain.com/test/test.git the command gets stuck and never finishes. Enabeling loggning and verbose seems to point to the cookie file never getting found.

I'm running a self-hosted gitea server that's running behind IIS Application Proxy (https://docs.gitea.com/next/administration/reverse-proxies#iis)

Running Gitea without IIS and running the same clone command works without issue. Also disabling credential manager before running git clone also works.

Logs

C:\Users\user\Documents\Test>git clone https://git.mydomain.com/test/test.git --verbose --ipv4
19:45:38.544318 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
19:45:38.553321 git.c:463               trace: built-in: git clone https://git.mydomain.com/test/test.git --verbose --ipv4
Cloning into 'Test’..
19:45:38.574517 run-command.c:657       trace: run_command: git remote-https origin https://git.mydomain.com/test/test.git
19:45:38.633077 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:38.637068 git.c:750               trace: exec: git-remote-https origin https://git.mydomain.com/test/test.git
19:45:38.638068 run-command.c:657       trace: run_command: git-remote-https origin https://git.mydomain.com/test/test.git
19:45:38.706332 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:38.727416 http.c:868              == Info: Couldn't find host git.mydomain.com in the .netrc file; using defaults
19:45:38.732420 http.c:868              == Info: Host git.mydomain.com:443 was resolved.
19:45:38.732420 http.c:868              == Info: IPv6: (none)
19:45:38.733412 http.c:868              == Info: IPv4: 10.1.1.40
19:45:38.734416 http.c:868              == Info:   Trying 10.1.1.40:443...
19:45:38.735411 http.c:868              == Info: Connected to git.mydomain.com (10.1.1.40) port 443
19:45:38.735411 http.c:868              == Info: schannel: disabled automatic use of client certificate
19:45:38.749418 http.c:868              == Info: using HTTP/1.x
19:45:38.749418 http.c:815              => Send header, 0000000243 bytes (0x000000f3)
19:45:38.750422 http.c:827              => Send header: GET /test/test.git/info/refs?service=git-upload-pack HTTP/1.1
19:45:38.751412 http.c:827              => Send header: Host: git.mydomain.com
19:45:38.751412 http.c:827              => Send header: User-Agent: git/2.44.0.windows.1
19:45:38.754909 http.c:827              => Send header: Accept: */*
19:45:38.754909 http.c:827              => Send header: Accept-Encoding: deflate, gzip, br, zstd
19:45:38.755910 http.c:827              => Send header: Pragma: no-cache
19:45:38.756914 http.c:827              => Send header: Git-Protocol: version=2
19:45:38.756914 http.c:827              => Send header:
19:45:38.757912 http.c:868              == Info: schannel: remote party requests renegotiation
19:45:38.759911 http.c:868              == Info: schannel: renegotiating SSL/TLS connection
19:45:38.761910 http.c:868              == Info: schannel: SSL/TLS connection renegotiated
19:45:38.761910 http.c:815              <= Recv header, 0000000027 bytes (0x0000001b)
19:45:38.762912 http.c:827              <= Recv header: HTTP/1.1 401 Unauthorized
19:45:38.762912 http.c:815              <= Recv header, 0000000066 bytes (0x00000042)
19:45:38.763908 http.c:827              <= Recv header: Cache-Control: max-age=0, private, must-revalidate, no-transform
19:45:38.763908 http.c:815              <= Recv header, 0000000041 bytes (0x00000029)
19:45:38.764907 http.c:827              <= Recv header: Content-Type: text/plain; charset=utf-8
19:45:38.764907 http.c:815              <= Recv header, 0000000083 bytes (0x00000053)
19:45:38.765908 http.c:827              <= Recv header: Set-Cookie: i_like_gitea=750125eda196e26c; Path=/; HttpOnly; Secure; SameSite=Lax
19:45:38.765908 http.c:815              <= Recv header, 0000000129 bytes (0x00000081)
19:45:38.766921 http.c:827              <= Recv header: Set-Cookie: _csrf=eZnBpYTbfzFrf2mwKWnbOp-uLkQ6MTcxMTEzMzEzODczNTE1MjQwMA; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax
19:45:38.767907 http.c:815              <= Recv header, 0000000039 bytes (0x00000027)
19:45:38.767907 http.c:827              <= Recv header: WWW-Authenticate: Basic realm="Gitea"
19:45:38.768907 http.c:815              <= Recv header, 0000000033 bytes (0x00000021)
19:45:38.770914 http.c:827              <= Recv header: X-Content-Type-Options: nosniff
19:45:38.771911 http.c:815              <= Recv header, 0000000029 bytes (0x0000001d)
19:45:38.771911 http.c:827              <= Recv header: X-Frame-Options: SAMEORIGIN
19:45:38.772911 http.c:815              <= Recv header, 0000000023 bytes (0x00000017)
19:45:38.772911 http.c:827              <= Recv header: X-Powered-By: ARR/3.0
19:45:38.773910 http.c:815              <= Recv header, 0000000023 bytes (0x00000017)
19:45:38.773910 http.c:827              <= Recv header: X-Powered-By: ASP.NET
19:45:38.774906 http.c:815              <= Recv header, 0000000047 bytes (0x0000002f)
19:45:38.774906 http.c:827              <= Recv header: Strict-Transport-Security: max-age=0; preload
19:45:38.775907 http.c:815              <= Recv header, 0000000037 bytes (0x00000025)
19:45:38.775907 http.c:827              <= Recv header: Date: Fri, 22 Mar 2024 18:45:38 GMT
19:45:38.776910 http.c:815              <= Recv header, 0000000020 bytes (0x00000014)
19:45:38.776910 http.c:827              <= Recv header: Content-Length: 13
19:45:38.777914 http.c:815              <= Recv header, 0000000002 bytes (0x00000002)
19:45:38.777914 http.c:827              <= Recv header:
19:45:38.778914 http.c:868              == Info: Connection #0 to host git.mydomain.com left intact
19:45:38.779908 run-command.c:657       trace: run_command: 'git credential-manager get'
19:45:38.907717 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:38.911701 git.c:750               trace: exec: git-credential-manager get
19:45:38.912698 run-command.c:657       trace: run_command: git-credential-manager get
19:45:39.318629 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.320630 git.c:463               trace: built-in: git config --null --list
19:45:39.561375 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.562369 git.c:463               trace: built-in: git version
19:45:39.629572 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.634580 git.c:463               trace: built-in: git config --null --type=path http.https://git.mydomain.com.sslCAInfo
19:45:39.693455 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.694461 git.c:463               trace: built-in: git config --null --type=path http.git.mydomain.com.sslCAInfo
19:45:39.750015 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.760898 git.c:463               trace: built-in: git config --null --type=path http.https://mydomain.com.sslCAInfo
19:45:39.828463 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.829471 git.c:463               trace: built-in: git config --null --type=path http.mydomain.com.sslCAInfo
19:45:39.888050 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.890055 git.c:463               trace: built-in: git config --null --type=path http.https://mydomain.com.sslCAInfo
19:45:39.948414 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.952416 git.c:463               trace: built-in: git config --null --type=path http.mydomain.com.sslCAInfo
19:45:40.024533 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.027532 git.c:463               trace: built-in: git config --null --type=path http.https://mydomain.com.sslCAInfo
19:45:40.086520 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.092523 git.c:463               trace: built-in: git config --null --type=path http.mydomain.com.sslCAInfo
19:45:40.170958 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.172956 git.c:463               trace: built-in: git config --null --type=path http.sslCAInfo
19:45:40.236316 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.240328 git.c:463               trace: built-in: git config --null --type=path http.https://git.mydomain.com.cookieFile
19:45:40.303332 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.305331 git.c:463               trace: built-in: git config --null --type=path http.git.mydomain.com.cookieFile
19:45:40.368743 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.370741 git.c:463               trace: built-in: git config --null --type=path http.https://mydomain.com.cookieFile
19:45:40.426739 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.430739 git.c:463               trace: built-in: git config --null --type=path http.mydomain.com.cookieFile
19:45:40.495268 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.497275 git.c:463               trace: built-in: git config --null --type=path http.https://mydomain.com.cookieFile
19:45:40.553930 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.556927 git.c:463               trace: built-in: git config --null --type=path http.mydomain.com.cookieFile
19:45:40.622061 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.625064 git.c:463               trace: built-in: git config --null --type=path http.https://mydomain.com.cookieFile
19:45:40.692772 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.695773 git.c:463               trace: built-in: git config --null --type=path http.mydomain.com.cookieFile
19:45:40.758739 exec-cmd.c:243          trace: resolved executable dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.760741 git.c:463               trace: built-in: git config --null --type=path http.cookieFile

kagstrom2100 avatar Mar 23 '24 22:03 kagstrom2100

Versão

2.4.1

Sistema operacional

Windows

Versão ou distribuição do SO

Windows Server 2022 (Atualização de março)

Git provedor de hospedagem(s)

Outros - descreva abaixo

Outro provedor de hospedagem

Auto-Hosted Gitea

(Apenas com o Azure DevOps) Qual é o formato do seu URL remoto?

Nenhum

Você pode acessar o repositório remoto diretamente no navegador?

Sim, posso aceder ao repositório

Comportamento esperado

Ao executar o git clone https://mydomain.com/test/test.git o repositório git auto-hospedado deve sincronizar com a minha máquina local.

Comportamento real

Ao executar o comando git clone https://mydomain.com/test/test.git o comando fica preso e nunca termina. Rotular loggning e verbose parece apontar para o arquivo de cookie nunca sendo encontrado.

Estou executando um servidor gitea auto-hospedado que está sendo executado atrás do IIS Application Proxy (https://docs.gitea.com/next/administration/reverse-proxies#iis)

Executar o Gitea sem o IIS e executar o mesmo comando de clone funciona sem problemas. Também desabilitando o gerenciador de credenciais antes de executar clone git também funciona.

Logs

C:\Users\user\Documents\Test>git clone https://git.mydomain.com/test/test.git --verbose --ipv4
19:45:38.544318 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/bin
19:45:38.553321 git.c:463 traço: built-in: git clone https://git.mydomain.com/test/test.git --verbose --ipv4
Clonagem em 'Gemensama-IT-Produkter'...
19:45:38.574517 run-command.c:657 trace: run_command: git origem remota-https https://git.mydomain.com/test/test.git
19:45:38.633077 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:38.637068 git.c:750 traço: exec: git-remote-https origem https://git.mydomain.com/test/test.git
19:45:38.638068 run-command.c:657 trace: run_command: git-remote-https origin https://git.mydomain.com/test/test.git
19:45:38.706332 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:38.727416 http.c:868 == Info: Não foi possível encontrar o host git.mydomain.com no arquivo .netrc; usando padrões
19:45:38.732420 http.c:868 == Info: Host git.mydomain.com:443 foi resolvido.
19:45:38.732420 http.c:868 == Info: IPv6: (nenhum)
19:45:38.733412 http.c:868 == Info: IPv4:10.1.40
19:45:38.734416 http.c:868 == Info: Trying 10.0.1.35:443...
19:45:38.735411 http.c:868 == Info: Connected to git.mydomain.com (10.0.1.35) port 443
19:45:38.735411 http.c:868 == Info: schannel: desativado uso automático do certificado do cliente
19:45:38.749418 http.c:868 == Info: usando HTTP/1.x
19:45:38.749418 http.c:815 => Enviar cabeçalho, 0000000243 bytes (0x000000f3)
19:45:38.750422 http.c:827 => Enviar cabeçalho: GET /test/test.git/info/refs?service=git-upload-pack HTTP/1.1
19:45:38.751412 http.c:827 => Enviar cabeçalho: Anfitrião: git.mydomain.com
19:45:38.751412 http.c:827 => Enviar cabeçalho: Utilizador-Agente: git/2.44.0.windows.1
19:45:38.754909 http.c:827 => Enviar cabeçalho: Aceitar: */*
19:45:38.754909 http.c:827 => Enviar cabeçalho: Accept-Encoding: deflate, gzip, br, zstd
19:45:38.755910 http.c:827 => Enviar cabeçalho: Pragma: no-cache
19:45:38.756914 http.c:827 => Enviar cabeçalho: Git-Protocol: version=2
19:45:38.756914 http.c:827 => Enviar cabeçalho:
19:45:38.757912 http.c:868 == Info: schannel: renegociação de pedidos de parte remota
19:45:38.759911 http.c:868 == Info: schannel: renegociar conexão SSL/TLS
19:45:38.761910 http.c:868 == Info: schannel: conexão SSL/TLS renegociada
19:45:38.761910 http.c:815 <= Recv header, 000000027 bytes (0x0000001b)
19:45:38.762912 http.c:827 <= Cabeçalho de recuperação: HTTP/1.1 401 Não autorizado
19:45:38.762912 http.c:815 <= Recv header, 000000066 bytes (0x00000042)
19:45:38.763908 http.c:827 <= Cabeçalho de recuperação: Cache-Controlo: max-age=0, privado, must-revalidate, no-transform
19:45:38.763908 http.c:815 <= Recv header, 000000041 bytes (0x00000029)
19:45:38.764907 http.c:827 <= Cabeçalho de gravação: Content-Type: text/plain; charset=utf-8
19:45:38.764907 http.c:815 <= Recv header, 000000083 bytes (0x00000053)
19:45:38.765908 http.c:827 <= Recv cabeçalho: Set-Cookie: i_like_gitea=750125eda196e26c; Path=/; HttpOnly; Secure; SameSite=Lax
19:45:38.765908 http.c:815 <= Recv header, 0000000129 bytes (0x00000081)
19:45:38.766921 http.c:827 <= Cabeçalho de recuperação: Set-Cookie: _csrf=eZnBpYTbfzFrf2mwKWnbOp-uLkQ6MTcxMTEzMzEzODczNTE1MjQwMA; Path=/; Max-Age=86400; HttpOnly; Secure; SameSite=Lax
19:45:38.767907 http.c:815 <= Recv header, 000000039 bytes (0x00000027)
19:45:38.767907 http.c:827 <= Cabeçalho de recuperação: WWW-Authenticate: Basic realm="Gitea"
19:45:38.768907 http.c:815 <= Recv header, 000000033 bytes (0x00000021)
19:45:38.770914 http.c:827 <= Recv cabeçalho: X-Content-Type-Opções: nosniff
19:45:38.771911 http.c:815 <= Recv header, 000000029 bytes (0x0000001d)
19:45:38.771911 http.c:827 <= Cabeçalho de gravação: X-Frame-Options: SAMEORIGIN
19:45:38.772911 http.c:815 <= Recv header, 000000023 bytes (0x00000017)
19:45:38.772911 http.c:827 <= Cabeçalho de recuperação: X-Powered-By: ARR/3.0
19:45:38.773910 http.c:815 <= Recv header, 000000023 bytes (0x00000017)
19:45:38.773910 http.c:827 <= Cabeçalho de recuperação: X-Powered-By: ASP.NET
19:45:38.774906 http.c:815 <= Recv header, 000000047 bytes (0x0000002f)
19:45:38.774906 http.c:827 <= Cabeçalho de recuperação: Strict-Transport-Security: max-age=0; preload
19:45:38.775907 http.c:815 <= Recv header, 000000037 bytes (0x00000025)
19:45:38.775907 http.c:827 <= Recv cabeçalho: Data: Sex, 22 Mar 2024 18:45:38 GMT
19:45:38.776910 http.c:815 <= Cabeçalho de recuperação, 0000000020 bytes (0x00000014)
19:45:38.776910 http.c:827 <= Recv cabeçalho: Conteúdo-Comprimento: 13
19:45:38.777914 http.c:815 <= Recv header, 000000002 bytes (0x00000002)
19:45:38.777914 http.c:827 <= Cabeçalho do Recv:
19:45:38.778914 http.c:868 == Info: Connection #0 to host git.mydomain.com left intact
19:45:38.779908 run-command.c:657 trace: run_command: 'git credential-manager get'
19:45:38.907717 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:38.911701 git.c:750 trace: exec: git-credential-manager get
19:45:38.912698 run-command.c:657 trace: run_command: git-credential-manager get
19:45:39.318629 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.320630 git.c:463 traço: built-in: git config --null --list
19:45:39.561375 exec-cmd.c:243 traço: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.562369 git.c:463 traço: built-in: versão git
19:45:39.629572 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.634580 git.c:463 traço: built-in: git config --null --type=path http.https://git.mydomain.com.sslCAInfo
19:45:39.693455 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.694461 git.c:463 trace: built-in: git config --null --type=path http.git.mydomain.com.sslCAInfo
19:45:39.750015 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.760898 git.c:463 traço: built-in: git config --null --type=path http.https://mydomain.com.sslCAInfo
19:45:39.828463 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.829471 git.c:463 trace: built-in: git config --null --type=path http.mydomain.com.sslCAInfo
19:45:39.888050 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.890055 git.c:463 traço: built-in: git config --null --type=path http.https://mydomain.com.sslCAInfo
19:45:39.948414 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:39.952416 git.c:463 traço: built-in: git config --null --type=path http.mydomain.com.sslCAInfo
19:45:40.024533 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.027532 git.c:463 traço: built-in: git config --null --type=path http.https://mydomain.com.sslCAInfo
19:45:40.086520 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.092523 git.c:463 traço: built-in: git config --null --type=path http.mydomain.com.sslCAInfo
19:45:40.170958 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.172956 git.c:463 traço: built-in: git config --null --type=path http.sslCAInfo
19:45:40.236316 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.240328 git.c:463 traço: built-in: git config --null --type=path http.https://git.mydomain.com.cookieFile
19:45:40.303332 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.305331 git.c:463 trace: built-in: git config --null --type=path http.git.mydomain.com.cookieFile
19:45:40.368743 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.370741 git.c:463 traço: built-in: git config --null --type=path http.https://mydomain.com.cookieFile
19:45:40.426739 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.430739 git.c:463 traço: built-in: git config --null --type=path http.mydomain.com.cookieFile
19:45:40.495268 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.497275 git.c:463 traço: built-in: git config --null --type=path http.https://mydomain.com.cookieFile
19:45:40.553930 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.556927 git.c:463 trace: built-in: git config --null --type=path http.mydomain.com.cookieFile
19:45:40.622061 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.625064 git.c:463 traço: built-in: git config --null --type=path http.https://mydomain.com.cookieFile
19:45:40.692772 exec-cmd.c:243 Trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.695773 git.c:463 trace: built-in: git config --null --type=path http.mydomain.com.cookieFile
19:45:40.758739 exec-cmd.c:243 trace: resolvido executável dir: C:/Program Files/Git/mingw64/libexec/git-core
19:45:40.760741 git.c:463 traço: built-in: git config --null --type=path http.cookieFile

Alexandreslv24 avatar Mar 25 '24 02:03 Alexandreslv24