Doccano: Question : Comment puis-je activer SSL pour l'application Doccano résidant dans le conteneur Docker ?

Créé le 28 août 2019  ·  3Commentaires  ·  Source: doccano/doccano

J'ai une question idiote et j'en suis désolé, mais comment puis-je activer SSL pour l'ensemble d'applications doccano dans un conteneur Docker ?

Quand je lance l'application comme ceci :

docker run -d --rm --name doccano \
  -e "ADMIN_USERNAME=admin" \
  -e "[email protected]" \
  -e "ADMIN_PASSWORD=password" \
  -e "DEBUG=False" \
  -e "SECRET_KEY=secret-key" \
  -p 80:8000 doccano:myrebuilt

Et je fais sudo netstat -tpln j'obtiens ceci :

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp6       0      0 :::80                   :::*                    LISTEN      32697/docker:proxy

Si je tape http://mydoccano:80/ dans mon navigateur Web, je peux voir l'application Docanno. Malheureusement, ce n'est pas sécurisé.

J'ai donc pensé à configurer nginx dans la machine hôte et à rediriger de 80 à 443 mais j'obtiens cette erreur en essayant d'exécuter l'image docker :

fc310303a5710e422580f1ffd5a0f1a30
docker: Error response from daemon: driver failed programming external connectivity on endpoint doccano (fa81ff4b030a29636bc22178e75b95a9d9988984325): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

Que puis-je faire pour rediriger de http:/mydoccano/ vers https://mydocano/ ? Dois-je configurer nginx dans le conteneur Docker ? Ou dois-je mettre les certificats SSL à l'intérieur du conteneur et l'exécuter en passant une sorte de paramètres SSL ? Des idées ou des repères ? Merci d'avance!

question

Commentaire le plus utile

Grâce à la suggestion de @cw, j'ai enfin fait fonctionner mon application doccano avec SSL.

Juste pour mémoire et au cas où quelqu'un voudrait savoir comment je l'ai fait fonctionner, voici ma configuration Nginx sur le serveur de production :

upstream doccano_app {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    listen [::]:80;
    server_name doccano.mydomain.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server { 
    listen 443 ssl;
    listing [::]443 ssl;

    server_name doccano.mydomain.com;

    ssl_certificate /etc/letsencrypt/live/doccano.mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/doccano.mydomain.com/privkey.pem;

    root /var/www/html;

    try_files $uri @docker;

    location <strong i="7">@docker</strong> {
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header X-Forwarded_Proto $scheme;
          proxy_redirect off;
          proxy_pass http://doccano_app;
  }

}

Tous les 3 commentaires

Je recommanderais d'utiliser nginx pour mettre fin à SSL, puis de transmettre la demande à doccano. Notez que si vous utilisez doccano derrière SSL, vous devrez configurer les paramètres mentionnés dans https://github.com/chakki-works/doccano/pull/350.

merci, @cw

Grâce à la suggestion de @cw, j'ai enfin fait fonctionner mon application doccano avec SSL.

Juste pour mémoire et au cas où quelqu'un voudrait savoir comment je l'ai fait fonctionner, voici ma configuration Nginx sur le serveur de production :

upstream doccano_app {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    listen [::]:80;
    server_name doccano.mydomain.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server { 
    listen 443 ssl;
    listing [::]443 ssl;

    server_name doccano.mydomain.com;

    ssl_certificate /etc/letsencrypt/live/doccano.mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/doccano.mydomain.com/privkey.pem;

    root /var/www/html;

    try_files $uri @docker;

    location <strong i="7">@docker</strong> {
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_set_header X-Forwarded_Proto $scheme;
          proxy_redirect off;
          proxy_pass http://doccano_app;
  }

}

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

bheuju picture bheuju  ·  4Commentaires

aribornstein picture aribornstein  ·  3Commentaires

gika815 picture gika815  ·  3Commentaires

callmeashish picture callmeashish  ·  3Commentaires

Srijha09 picture Srijha09  ·  4Commentaires