Opis instalacji certyfikatu Cloudflare SSL na web serwerze produkcyjnym opartym na Nginx.

  • na koncie Cloudflare wykorzystywanym w projekcie wchodzimy do zakładki SSL/TLS —> Origin Server.
  • generujemy certyfikat dla wskazanej domeny / subdomen
  • Cloudflare zwraca plik certyfikatu i klucz prywatny i musimy je skopiować na serwer (klucz prywatny jest powinien zostać umieszczony w lokacji /etc/ssl/private, np. /etc/ssl/private/ssl-cert-domain.com.key i certyfikat w /etc/ssl/certs/, np. /etc/ssl/certs/ssl-cert-domain.com.pem)
  • w tej samej lokacji (/etc/ssl/certs) powinien się znaleźć też root certyfikat Cloudflare’a (w lokacji /etc/ssl/certs/cloudflare-origin-rsa.pem) —> należy go pobrać z https://support.cloudflare.com/hc/en-us/articles/115000479507 (step 4 - Cloudflare Origin CA — RSA Root)
  • następnie trzeba wygenerować bundle certyfikatów (origin certyfikat dla domeny + root certyfikat) i będzie to plik /etc/ssl/certs/ssl-cert-domain.com-bundle.pem, wygenerowane przez:
    sudo cat /etc/ssl/certs/ssl-cert-domain.com.pem /etc/ssl/certs/cloudflare-origin-rsa.pem > /etc/ssl/certs/ssl-cert-domain.com-bundle.pem
  • w ustawieniach vhosta na Nginxie trzeba podać ścieżki do tych plików, np:

    ssl_certificate /etc/ssl/certs/ssl-cert-domain.com-bundle.pem;
    ssl_certificate_key /etc/ssl/private/ssl-cert-domain.com.key;
  • należy upewnić się, że Nginx nie zwraca błędów: sudo nginx -t i jeśli nie widzimy błędów - mamy sukces! :-)