Я использую isomorphi c - git выполнения git clone
на стороне браузера, а также cors-proxy из-за политики того же происхождения. Использование как ниже:
await git.clone({
fs,
http,
dir,
corsProxy: 'https://cors.isomorphic-git.org',
url: 'https://github.com/isomorphic-git/isomorphic-git',
ref: 'master',
singleBranch: true,
depth: 10
});
Я установил свой собственный cors-прокси для внутренней сетевой среды. Прокси-сервис через Nginx переадресацию порта.
upstream cors-proxy {
server 127.0.0.1:9999;
keepalive 10;
}
server {
listen 80 default_server;
location /cors-proxy {
proxy_pass http://cors-proxy;
}
}
Соответствующая конфигурация будет:
corsProxy: 'https://my-domain/cors-proxy'
Однако реальный вызов сети не работает:
https://my-domain/cors-proxy/gitlab.xxx.com/xxx.git/info/refs?service=git-upload-pack
Но ниже работает:
upstream cors-proxy {
server 127.0.0.1:9999;
keepalive 10;
}
server {
listen 80 default_server;
location / {
proxy_pass http://cors-proxy;
}
}
https://my-domain/gitlab.xxx.com/xxx.git/info/refs?service=git-upload-pack
Но путь по умолчанию / был занят другим сервисом. Кроме того, я не могу применить новое доменное имя для привязки порта 9999. Как я могу настроить Nginx для его решения?