2017-12-06 4 views
0

Ich habe Automatisierung Skripts zum Generieren und Aktualisieren von SSL-Zertifikaten mit Namesilo, Letsencrypt und Gitlab APIs geschrieben. Ich bin fast am Ende, aber ich bekomme einen Fehler 404, wenn Sie versuchen, das SSL-Zertifikat auf Gitlab zu aktualisieren.GitLab Pages API 404 Fehler für bestimmte Projekte

Der komische Teil ist, dass der Fehler nur bei einem meiner beiden Projekte passiert. Insbesondere läuft:

curl --header "Private-Token: XXXXXX" "https://gitlab.com/api/v4/projects/pallavagarwal07%2Fshort-links/pages/domains/pallav.xyz" 

funktioniert gut und holt die Details Domain pallav.xyz in Projekt short-links.

Aber läuft:

curl --header "Private-Token: XXXXX" "https://gitlab.com/api/v4/projects/pallavagarwal07%2Fpallavagarwal07.gitlab.io/pages/domains/varstack.com" 

gibt einen 404-Fehler. Doch was seltsamer ist es, dass, wenn ich den Domain-Namen varstack.com aus der URL zu entfernen, es mir die Liste der Domains gibt wie erwartet:

curl --header "Private-Token: XXXXX" "https://gitlab.com/api/v4/projects/pallavagarwal07%2Fpallavagarwal07.gitlab.io/pages/domains" 

kehrt:

[{"domain":"varstack.com","url":"https://varstack.com","certificate":....] 
+0

Können Sie die Berechtigungen des Benutzers überprüfen? Es kann verwandt sein – djuarez

+1

@ djuarez Der Benutzer ist der Besitzer pallavagarwal07 in beiden Fällen. Ich benutze in allen Fällen das gleiche Token. Token wird mit dem ersten privilegierten "Full Read/Write API Access" generiert. –

Antwort

0

ich es endlich heraus (obwohl ich dies immer noch als einen Fehler von GitLab klassifizieren würde).

Die ID muss url-codiert sein, weshalb ich / im Repository-Namen durch %2F ersetzt habe. Allerdings sollte das Zeichen . kein Problem sein (- in der früheren URL hat kein Problem verursacht). Das Ersetzen von . durch %2E ergibt jedoch erwartete (korrekte) Ergebnisse.

Ich denke, das ist ein Fehler, weil: (welche Zeichen erlaubt)

  1. Dieses Verhalten ist nicht dokumentiert.
  2. Die URL ohne den Domänennamen funktioniert fehlerfrei auch ohne Codierung ., einschließlich der API zum Hinzufügen neuer Domänen (die auch Domäne als Formularparameter und nicht in URL akzeptiert).

TL; DR

Verwendung:

pallavagarwal07%2Fpallavagarwal07%2Egitlab%2Eio 

statt

pallavagarwal07%2Fpallavagarwal07.gitlab.io 

in der URL macht es funktionieren.

Verwandte Themen