-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose API on /api/ prefix in prod #51
Conversation
e76aa07
to
42a4c6f
Compare
En local quand je fais un Est-ce qu'il y a un soucis de redirection vers la doc fastapi ? |
@magopian Et je suppose que si tu ajoutes Je me demande si je dois ajouter une variable d'environnement sur "l'environnement" justement. Car Peut-être |
Oui tout à fait avec |
4678d5f
to
7053a33
Compare
7053a33
to
478e76a
Compare
@magopian OK, j'ai ajouté un concept de "server mode" qui permet de plus précisément distinguer selon qu'on est en J'ai retesté sur la VM, je crois qu'on est bon. |
@magopian Ça te paraît ✔️ ? |
Ça me paraît nickel oui, je me rappelle plus comment on crée le |
Le Mais si on se dit que ce |
ah bah si la valeur par défaut est la bonne, alors c'est nickel ! 🚢 |
d6310b4
to
eb3e615
Compare
Refs #46, Préalable à #48
Nginx : actuellement l'API est montée sur la racine
/
, mais on souhaite que ce chemin soit réservé à l'app client, et que l'API soit accessible depuis l'extérieur sur/api/
.En voici une PR séparée, car la modification est non-triviale. En effet, il faut s'assurer que Nginx et le serveur Python soient bien d'accord, d'où :
location /api/
dans la config Nginxroot_path="/api"
sur le serveur Uvicornproxy_pass
pour inclure un/
final qui indique à Nginx de retirer/api
dans le chemin de la requête transmise à Uvicorn/docs
pour bien prendre en compte labase_url
ainsi définie. (Grâce à ça, Uvicorn renvoie uneLocation: http://localhost:3579/docs
complète, que Nginx interprète correctement viaproxy_pass
pour le retransformer enhttp://localhost/api/docs
(modif du FQDN et injection du préfixe). Sans ça, on auraitLocation: /docs
ce que Nginx n'interprèterait pas.)Pour tester
make serve
, accéder au client / à l'API, lancer les tests...curl localhost
renvoie maintenant la page de base Nginx (logique : il n'y a plus delocation /
)curl localhost/api/
redirige bien verslocalhost/api/docs
curl localhost/api/datasets/
renvoie bien la liste de datasets