This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

(Développement) Certificat LE sur une API python docker


Messages recommandés

Salut!

Il s'agit d'un problème à mi-chemin entre le développement et la gestion de notre NAS, j'espère que je poste au bon endroit.

J'ai développé une petite API python qui tourne dans un container docker sur le nas.
Cette API fait des requêtes sur une base mariadb, également sur le nas. 

Mais (et c'est là l'intéressant) j'ai également fais une page web (vue-js) qui interroge l'api python.

Tout ça marche bien, mais je souhaite appliquer du HTTPS.

Voici (en pj) le schéma de ma situation.

J'ai un certificat LE, je m'en sers déjà pour sécuriser l'accès au DSM par exemple.
J'ai réussi à l'utiliser pour avoir du HTTPS sur mon appli vue-js.

Le problème c'est qu'il faut également du HTTPS entre l'appli vue-js, et l'api python maintenant, et là je galère.

Puis-je utiliser le même certificat?
Comment je le "donne" à l'api?

Pour info, l'api est en python donc. C'est une appli Flask et le serveur est gunicorn.

J'ai réussi à mettre le https pour les test en local, en ajoutant ssl_context = 'adhoc':

def main():
    app.run(host='0.0.0.0', ssl_context='adhoc')

Mais une fois livré dans docker ça ne fonctionne plus: time out.


Je suis un peu perdu.

archi.png

Lien vers le commentaire
Partager sur d’autres sites

J'ai eu une réponse sur StackOverflow.

Le mec disait que je devrais plutôt utiliser le reverse proxy (qui lui bénéficie du certificat facilement) afin de rediriger les requêtes du front vers l'api.

Les appels à l'api seraient donc uniquement en local et n'ont pas besoin d'être en https.

J'ai donc créé une nouvelle entrée dans le reverse proxy, comme ceci (pj)

 

Mais je tombe sur une 404

Le port 9071 est bien celui sur lequel je dois taper, car ça fonctionne quand j'indique l'adresse ip du NAS suivie du port.

Pour info, la 404 que j'ai est au "style" Synology.

Alors que quand je fais une erreur volontaire dans l'url, j'ai une 404 au style plus classique (voir pj)

 

Qu'en pensez-vous?

Capture d’écran 2021-08-02 003359.png

Style Synology:

Capture d’écran 2021-08-02 003605.png

Style "classique":

Capture d’écran 2021-08-02 003625.png

Modifié par Double Jo
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.