Closed JulianSchl closed 1 year ago
tu devrais pas utiliser les IPs dans ta config nginx, si tu utilises docker (et la range d'ip me dit que c'est le cas), tu devrais utiliser les noms des containers. Tu as un exemple dans le readme https://github.com/Eywek/tgvmax-bot#reverse-proxy
Oui mon setup est comme décrit dans le readme. J'ai téléchargé les deux docker et j'ai lancé le server nginx (pas dans un docker - si j'ai bien compris). Je suis perdu, qu-est ce que tu veux dire avec "nom des containers"? Dans le readme t'as envoye, je vois que des adresses IP et pas des noms. Par contre, j'ai regarde à ce guide et ils le font presque pareil que moi, mais j'obtiens quand-même l'erreur 404. Ce que je ne comprends pas est, pourquoi ça marche avec le frontend et pas avec le backend ...
Je pensais que tu lançais nginx dans docker vu que tu mettais des ips de container (172.17..), si ton nginx est en dehors de docker tu peux juste laisser 127.0.0.1 comme ip pour les deux. Quand tu lances le container du backend est-ce que tu peux y accéder en dehors de nginx ? En faisant un curl par exemple ?
Je pensais que tu lançais nginx dans docker vu que tu mettais des ips de container (172.17..)
ah non j'ai premièrement regardé sur ifconfig
dans chaque docker (nginx est dehors docker), mais je crois cette idée n'était pas la meilleure ...
alors si je lance ip a
j'obtiens:
...
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:c4:64:d5:4e brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:c4ff:fe64:d54e/64 scope link
valid_lft forever preferred_lft forever
...
seulement le backend docker est actif:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0797c2e6e0e6 ghcr.io/eywek/tgvmax-bot-backend:9ad9ed6d6aca0b98b045a75f4c6420c1f9817af4 "docker-entrypoint.s…" 22 hours ago Up 3 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp tgvmax-backend
En faisant un curl par exemple ?
donc je lance curl 172.17.0.1:8080
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /</pre>
</body>
</html>
c'est un erreur de nginx?
Utilises pas 172.17.0.1, de base avec les commandes du readme docker va forward les ports du backend et les rendre accessible sur localhost (127.0.0.1) donc tu devrais pouvoir utiliser la même config nginx que dans le readme.
D'accord avec curl 127.0.0.1:8081
j'arrive à voir le frontend, mais curl 127.0.0.1:8080
rend encore
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /</pre>
</body>
</html>
pareil avec 127.0.0.1:8080/api
Je peux pas dire pourquoi, mais curl
va jamais marcher.
Par contre je suis juste venu sur la domaine encore une fois et maintenant ça marche!
Merci :smile:
Salut,
j'ai un problème pareil que dans cet issue, mais j'arrive pas à le resoudre :/
http://example.com:8081
(bizarrement j'obtiens un error 502 si je cherche quehttp://example.com
).http://example.com:8080
ni avechttp://172.17.0.3:8080
(également ajouter/api
ne marche pas)le log pour le backend est:
et pour le frontend:
j'ai utilisé ipconfig dans les containers pour trouver l'adresse IP ... Et oui, j'ai relancé nginx
Mon nginx est configuré de cette manière:
Si tu avais une idée, ce serait vraiment super :) Pour plusieurs informations n'hésite pas à me demander