Încerc să transfer traficul SSH de la nginx (ascultă pe portul 7999) la un server bitbucket (ascultă pe portul 7998) pe back-end. Atât nginx, cât și bitbucket rulează în containerele Docker. Dacă mă conectez la containerul nginx și fac telnet bitbucket.domain-name.com 7998
se conectează. Pe mașina gazdă dacă o fac netstat -pnlt
Eu iau:
Conexiuni la internet active (numai servere)
Proto Recv-Q Trimitere-Q Adresă locală Adresă străină Stat PID/Nume program
tcp6 0 0 :::2377 :::* ASCULTĂ 24477/dockerd
tcp6 0 0 :::7946 :::* ASCULTĂ 24477/dockerd
tcp6 0 0 :::80 :::* ASCULTĂ 24477/dockerd
tcp6 0 0 :::443 :::* ASCULTĂ 24477/dockerd
tcp6 0 0 :::7999 :::* ASCULTĂ 24477/dockerd
Dar, când fac asta pe computerul meu: git clone ssh://[email protected]:7999/project_key/repo_name.git
eu iau
Se clonează în „repo_name”...
ssh: conectează-te la portul gazdă nume-domeniu.com 7999: conexiune refuzată
fatal: nu s-a putut citi din depozitul de la distanță.
Și când o fac nume-domeniu telnet.com 7999
eu iau telnet: Imposibil de conectat la gazda de la distanță: Conexiune refuzată
.
Se pare că problema este că nginx nu ascultă pe portul 7999 din containerul docker. Dar, pe gazdă pot vedea dockerd
ascultă pe portul 7999. Îmi imaginez că s-ar putea să nu am configurația nginx corectă, dar nu sunt sigur. Iată biții relevanți din fișierele de configurare.
docker-compose.yaml (nginx)
Servicii:
nginx:
porturi:
- „80:8080”
- „443:8443”
- „7999:7997”
nginx.conf (în interiorul containerului nginx)
curent {
Server {
asculta 7997;
proxy_pass bitbucket1.cybertron.ninja:7998;
}
}
Și iată câteva rezultate executate în interiorul containerului nginx:
root@6d123f454eef:/# netstat -pnlt
Conexiuni la internet active (numai servere)
Proto Recv-Q Trimitere-Q Adresă locală Adresă străină Stat PID/Nume program
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 10/nginx: master pr
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 10/nginx: master pr
tcp 0 0 127.0.0.11:44703 0.0.0.0:* ASCULTĂ -
Aveți idee cum să remediați această problemă? sunt nedumerit.