Let's Encrypt v Nginx

beer

  • *****
  • 729
    • Zobrazit profil
Let's Encrypt v Nginx
« kdy: 04. 11. 2015, 13:32:23 »
Ahoj, mám už pro svou doménu, kterou používám na hraní - let´s encrypt certifikáty, systém Ubuntu 15.10, nginx

Vygenerovaná certifikáty mám v umístění:
Kód: [Vybrat]
/etc/letsencrypt/live/mojedomena.cz/cert.pem
/etc/letsencrypt/live/mojedomena.cz/fullchain.pem
/etc/letsencrypt/live/mojedomena.cz/chain.pem
/etc/letsencrypt/live/mojedomena.cz/privkey.pem

Jak certifikáty naservíruji webserveru nginx, který mám nainstalovaný?

Mám do
Kód: [Vybrat]
/etc/nginx/nginx.conf přidat něco jako

Kód: [Vybrat]
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name mojedomena.cz;

    ssl_certificate /etc/letsencrypt/live/mojedomena.cz/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/mojedomena.cz/privkey.pem;

a pak provést restart nginx nějak takto?

Kód: [Vybrat]
service nginx reload
Nebo jak správně postupovat, rád bych, aby fungovala doména jak s https, tak i bez, díky za info.
« Poslední změna: 04. 11. 2015, 13:40:52 od Petr Krčmář »


Re:Let's Encrypt v Nginx
« Odpověď #1 kdy: 04. 11. 2015, 13:42:24 »
Ta konfigurace nepatří do nginx.conf, ale do konfigu pro konkrétní web. Ty se obvykle nacházejí v /etc/nginx/sites-enabled/.

kk

Re:Let's Encrypt v Nginx
« Odpověď #2 kdy: 04. 11. 2015, 13:59:30 »
ahoj

ty sites enabled to je jenom cast konfiguraku ktera se inkluduje do nginx.conf ne?

ja jsem si v nginx.conf udelal:
Kód: [Vybrat]
include /etc/nginx/archrulez.org.conf;

a v archrulez.org.conf mam:
funguje mi i to presmerovani, kdyz de nekdo na http tak ho to posle na https.
certifikat mam od startssl

Kód: [Vybrat]
server {
       listen         80;
       server_name    archrulez.org;
       return         301 https://$server_name$request_uri;
}



server {
        listen       443 ssl default_server;
        server_name  archrulez.org;
        root    /home/quandasim/www/archrulez.org/html;
        ssl_certificate      certs/archrulez-unified.crt;
        ssl_certificate_key  certs/archrulez.key;
#       ssl_verify_client on; #optional;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location = /favicon.ico {
                alias /home/quandasim/www/favicon.ico;
        }
        include php.conf;

        location / {
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
#        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root    /home/quandasim/www/archrulez.org/html;
        }

    }


beer

  • *****
  • 729
    • Zobrazit profil
Re:Let's Encrypt v Nginx
« Odpověď #3 kdy: 04. 11. 2015, 15:39:29 »
díky, přidal jsem do souboru /etc/nginx/sites-enabled/default, ale výsledek je chybová hláška:
Kód: [Vybrat]
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/etc/letsencrypt/mojedomena.cz/privkey.pem") failed (SSL: er

ror:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/mojedomena.cz/privke

y.pem','r') error:20074002:BIO routines:FILE_CTRL:system lib error:140B0002:SSL routines:SSL_CTX_use_PrivateK

ey_file:system lib)

beer

  • *****
  • 729
    • Zobrazit profil
Re:Let's Encrypt v Nginx
« Odpověď #4 kdy: 04. 11. 2015, 15:59:45 »
Kód: [Vybrat]
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name mojedomena.cz;

    ssl_certificate /etc/letsencrypt/live/mojedomena.cz/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mojedomena.cz/privkey.pem;


tak měl jsem chybu v cestě, chybělo mi v cestě /live, ale co se nestalo, chybu to již nehlásí, ale vyjede mi výchozí stránka nginx při zadání mé domény, nikoliv můj web. A certifikát se mi zobrazuje takto:



To happy hacker fake CA to bude standardní zobrazení u certifikátů let´s encrypt?


Re:Let's Encrypt v Nginx
« Odpověď #5 kdy: 04. 11. 2015, 16:11:01 »
To happy hacker fake CA to bude standardní zobrazení u certifikátů let´s encrypt?
Happy hacker značí, že jsi nepostupoval podle návodu, který jsi dostal v pozvánce a místo z ostré autority sis vygeneroval certifikát z demo autority :) Nejspíš jsi zapomněl na přepínač --server u volání letsencrypt.

Re:Let's Encrypt v Nginx
« Odpověď #6 kdy: 04. 11. 2015, 16:11:38 »
ty sites enabled to je jenom cast konfiguraku ktera se inkluduje do nginx.conf ne?
Ano. Musí to být v sekci "server". Ve kterém souboru ta sekce je, je jedno. Různé OS to mají různě.

To happy hacker fake CA to bude standardní zobrazení u certifikátů let´s encrypt?
Ne. Google: "happy hacker fake CA"

fedorac

Re:Let's Encrypt v Nginx
« Odpověď #7 kdy: 05. 11. 2015, 10:04:55 »
zkousel jsem a kupodivu uspech.
ale az na podruhe, letsencrypt potrebuje volny lokalni port 80

server_name mojedomena.cz www.mojedomena.cz;

za me dobry :)

beer

  • *****
  • 729
    • Zobrazit profil
Re:Let's Encrypt v Nginx
« Odpověď #8 kdy: 05. 11. 2015, 12:02:39 »
díky všem