![](/img/trans.png)
[英]Local instance of gitlab does not respond to REST-calls from the API documentation located in "/gitlab/doc/api/v4"
[英]Gitlab REST API file download in subfolder
我在本地服務器上試用 gitlab REST API 並且遇到了一些問題,從子文件夾中檢索文件。 以下請求有效:
curl --header "PRIVATE-TOKEN: <private-token>" "https://my.domain.com/gitlab/api/v4/projects/2/repository/tree?ref=main"
curl --header "PRIVATE-TOKEN: <private-token>" "https://my.domain.com/gitlab/api/v4/projects/2/repository/tree?path=Build&ref=main"
curl --header "PRIVATE-TOKEN: <private-token>" "https://my.domain.com/gitlab/api/v4/projects/2/repository/files/README%2Emd&ref=main"
但是,當我嘗試在子文件夾中下載文件時,我總是得到{ error: '404 Not Found' }
。
curl --header "PRIVATE-TOKEN: <private-token>" "https://my.domain.com/gitlab/api/v4/projects/2/repository/files/Build%2Ftest%2Etxt&ref=main"
文件夾結構在哪里:
- Build
- test.txt
- README.md
和我的 nginx 配置與 gitlab 在一個相對的 url 上,由一個 Z05B6053C41A2DA4EAZ6 托管的容器托管,看起來像這樣:
################
## GITLAB DEV ##
################
location /dev {
root /home/git/gitlab/public;
client_max_body_size 0;
proxy_http_version 1.1;
proxy_pass http://193.174.29.12:1234/dev;
# proxy_max_temp_file_size 0;
gzip off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-For-Proto https;
proxy_set_header X-Forwarded-Ssl on;
}
這里的問題是 nginx 配置用於使用 gitlab 和相對 url。 我不得不改變
proxy_pass http://193.174.29.12:1234/dev;
至
proxy_pass http://193.174.29.12:1234;
因為其他一切似乎都在解碼 url 並且請求將從
curl --header "PRIVATE-TOKEN: <private-token>" "https://my.domain.com/gitlab/api/v4/projects/2/repository/files/Build%2Ftest%2Etxt&ref=main"
至
curl --header "PRIVATE-TOKEN: <private-token>" "https://my.domain.com/gitlab/api/v4/projects/2/repository/files/Build/test.txt&ref=main"
因此沒有被 gitlab 識別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.