Мой сервер Nginx действует как прокси для сервера Gitlab, проблема в том, что когда я пытаюсь «**git clone [email protected]:username/project.git**
», я не могу клонировать проект [он не туннелирует с сервера Nginx на сервер Gitlab]
Когда я обновляю файл /etc/hosts моей локальной системы с IP-адресом сервера Gitlab, он отлично клонируется без пароля [я обновил свой профиль с помощью открытого ключа SSH в Gitlab].
Итак, я пришел к выводу, что мне нужно обновить конфигурацию Nginx с помощью правил, которые могут туннелировать SSH-связь с любой клиентской системы на сервер Gitlab через сервер Nginx.
Попробовал код по этой ссылке, внеся следующие изменения:
upstream gitlab {
server 192.168.61.102:22;
}
server {
listen 22;
server_name gitlab.example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://gitlab;
}
}
Но это не работает. Было бы здорово, если бы кто-нибудь помог мне настроить правила, чтобы они заработали.
Примечание. В приведенном выше коде 192.168.61.102 — это IP-адрес моего сервера gitlab, мой сервер Nginx — 192.168.61.101.