Permite criptografar o certificado SSL no contêiner do Docker via nginx-proxy

1

Atualmente, estou usando o nginx-proxy para rotear meus subdomínios para diferentes contêineres do Docker. Agora, gostaria de adicionar um certificado SSL ao meu contêiner Owncloud, mas não estou conseguindo configurá-lo corretamente.

O que eu fiz:

  1. Como obter um certificado via certbot

Eu tentei obter um certificado SAN executando ./certbot-auto certonly onde eu inseri cada subdomínio que gostaria de usar. O certificado foi gerado com sucesso em etc/letsencrypt/live/www.mydomain.com

  1. Montando o certificado para o contêiner owncloud e configurando o nginx-proxy

Dê uma olhada rápida no meu docker-compose.yml:

nginx-proxy:
  image: jwilder/nginx-proxy
  ports:
  - "80:80"
  - "443:443"
  volumes:
  - /var/run/docker.sock:/tmp/docker.sock

owncloud:
  image: owncloud
  expose:
  - 80
  - 443
  environment:
  - "VIRTUAL_HOST=owncloud.mydomain.com,www.owncloud.mydomain.com"
  - "VIRTUAL_PROTO=https"
  - "VIRTUAL_PORT=443"
  volumes:
  - "owncloud-data:/var/www/html"
  - "/etc/letsencrypt/live/www.mydomain.com:/root/ssl"

E aqui está um trecho do meu /etc/apache2/sites-available/default-ssl.conf (claro que o do recipiente owncloud)

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
            ServerAdmin webmaster@localhost

            DocumentRoot /var/www/html

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

            SSLEngine on

            SSLCertificateFile      /root/ssl/cert.pem
            SSLCertificateKeyFile /root/ssl/privkey.pem
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>

            BrowserMatch "MSIE [2-6]" \
                            nokeepalive ssl-unclean-shutdown \
                            downgrade-1.0 force-response-1.0
            # MSIE 7 and newer should be able to use keepalive
            BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

    </VirtualHost>
</IfModule>

Sempre que tento me conectar a https://www.owncloud.mydomain.com , recebo o erro ERR_CONNECTION_REFUSED .

Alguma ideia? Obrigado.

    
por caiuspb 10.07.2016 / 10:38

1 resposta

2

Finalmente, descobri que meu docker-compose.yaml não estava correto. Aqui está minha nova configuração:

nginx-proxy:
  image: jwilder/nginx-proxy
  ports:
  - "80:80"
  - "443:443"
  volumes:
  - /var/local/nginx/certs:/etc/nginx/certs
  - /etc/letsencrypt:/etc/letsencrypt
  - /var/run/docker.sock:/tmp/docker.sock

owncloud:
  image: owncloud
  expose:
  - 443
  environment:
  - "VIRTUAL_HOST=owncloud.mydomain.com,www.owncloud.mydomain.com"
  volumes:
  - "owncloud-data:/var/www/html"

Um link para meu fullchain.pem e privkey.pem está dentro de / var / local / nginx

    
por 12.07.2016 / 20:13