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)
zamień domain.com w nazwach plików na właściwą domenę! - 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 (znajdź Cloudflare Origin RSA PEM)
- 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 poniższą komendę (sugeruję zalogować się jako root na serwerze):
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 - wykonać restart nginx’a –
sudo service nginx restart - w ustawieniach Cloudflare w sekcji SSL/TLS danej domeny, ustaw tryb Full (strict)
- upewnić się, że strona działa 🙂