Bildiğiniz üzere Cloudflare tüm kullanıcıları için ücretsiz SSL sertifikası sağlamakta. Öncelikle sizlere bu SSL sertifikalarından bahsedeceğim.
https://www.cloudflare.com adresine girerek Cloudflare hesabınına giriş yapıp sitenizi seçtikten sonra, üst tarafta bulunan Crpto sekmesine tıklıyoruz.
En üstte SSL bölümünü göreceksiniz.
4 farklı tip SSL özelliği bulunmakta. Bunlar sırasıyla;
- OFF: SSL kapalıdır.
- FLEXIBLE: Kullanıcı ve Cloudflare arasında SSL kullanılır. Cloudflare ve sunucu arasında herhangi bir SSL bağlantısı yoktur.
- FULL: Kullanıcı – Cloudflare arasında ve Cloudflare – sunucu arasında SSL sertifikası olması gerekir. Ancak SSL sertifikası doğrulaması göz ardı edilir. Self signed sertifikalar kullanılabilir.
- FULL (STRICT): Kullanıcı – Cloudflare arasında ve Cloudflare – sunucu arasında geçerli bir SSL sertifikası olması gerekir. Harici olarak satın aldığınız ya da Cloudflare tarafından doğrulanmış bir sertifika kullanabilirsiniz.
Full (strict) seçerek devam edelim. Eğer geçerli bir SSL sertifikanız varsa aşağıdaki adımları uygulamanıza gerek yok. Devamında bahsedeceğim konu, sunucunuz için Cloudflare tarafından onaylı SSL sertifikası oluşturmak hakkında olacaktır.
Origin Certificates kısmına gelip Create Certificate tıklıyoruz.
Origin Certificate Installation sayfasında herhangi bir değişiklik yapmadan Next butonuna tıklıyoruz.
Cloudflare siteniz için Origin Certificate ve Private Key üretecektir.
'Origin Certificate' -----BEGIN CERTIFICATE----- MIIEmjCCA4KgAwIBAgIUAMKoJ3dw1e5iRN7+IldbU3+RA94wDQYJKoZIhvcNAQEL BQAwgYsxCzAJBgNVBAYTAlVTMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTQw MgYDVQQLEytDbG91ZEZsYXJlIE9yaWdpbiBTU0wgQ2VydGlmaWNhdGUgQXV0aG9y aXR5MRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRMwEQYDVQQIEwpDYWxpZm9ybmlh MB4XDTE4MTAyNDA2MDUwMFoXDTMzMTAyMDA2MDUwMFowYjEZMBcGA1UEChMQQ2xv dWRGbGFyZSwgSW5jLjEdMBsGA1UECxMUQ2xvdWRGbGFyZSBPcmlnaW4gQ0ExJjAk BgNVBAMTHUNsb3VkRmxhcmUgT3JpZ2luIENlcnRpZmljYXRlMIIBIjANBgkqhkiG 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtIWemM+lZuoaTWrSo0v1q8OTRTOGMuNCYl7/ GMj1ooSqbZGv6fA/3SeSyDJicn2jrC7c5Rf6/H1Gh0xFdIkUUsxhi4OIfUDvo9WG TbH/WJTzFYVwTu28YDxi9NM7fj/xdLJ6QHQ4RgJX4CnhhIKB4PvZz7/wYg5DEHYD QectQu6FJtzmdyXdkBOXYwueHOfyNuuBXhhA50zz5VjHuuyXscIWpE4J/pL1yYnP 4ds93gwrYRinPEBwSlAQZWnxR829ju3hx5fwz9kcdxsV4qwz0Y/eWEioB07bq+80 3T9NeQAGwgJ8h+aY3yAq43A35mbdjpreMXQZc3SQWszvZY2GrwIDAQABo4IBHDCC ARgwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcD ATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBT4uQe42rRZheHBHGPHt7BQkQO3xjAf BgNVHSMEGDAWgBQk6FNXXXw0QIep65TbuuEWePwppDBABggrBgEFBQcBAQQ0MDIw MAYIKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLmNsb3VkZmxhcmUuY29tL29yaWdpbl9j YTAdBgNVHREEFjAUggkqLmtpMS5vcmeCB2tpMS5vcmcwOAYDVR0fBDEwLzAtoCug KYYnaHR0cDovL2NybC5jbG91ZGZsYXJlLmNvbS9vcmlnaW5fY2EuY3JsMA0GCSqG SIb3DQEBCwUAA4IBAQAKl/LX0IMuqMeVKA3wxffcfUMAFoRBpaWpX7sv/9YaIhFA IFydkOfA3Wbvm/J2h3RbICdFyp5YMg6T0/+LWt2jkq9Oy5S0pJAt1pn0eevlY9Sh 8ayDdXBBadOg51fJR8I0gfm5GeSRkN1RVYfpPP5OZtszsl1cRiGXxHVq7OFvVBCM wLeYgtLGhvtOaoPhVTCjHwAtjF3hg8j7IwU/U7cAqd12a+hG4i/LRnKLkrA6Z8TD b+H9VjXxcue/QLs8n/OpX4NUd5igX3wSo/9Rv6VrI4miej6cF1Lv93y4weQcJIGx UEjRqJEIegudvCpeXlzRRer4xoQ7cmtBGmMUIcAh -----END CERTIFICATE-----
'Private Key' -----BEGIN PRIVATE KEY----- MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC0hZ6Yz6Vm6hpN atKjS/Wrw5NFM4Yy40JiXv8YyPWihKptka/p8D/dJ5LIMmJyfaOsLtzlF/r8fUaH TEV0iRRSzGGLg4h9QO+j1YZNsf9YlPMVhXBO7bxgPGL00zt+P/F0snpAdDhGAlfg KeGEgoHg+9nPv/BiDkMQdgNB5y1C7oUm3OZ3Jd2QE5djC54c5/I264FeGEDnTPPl WMe67JexwhakTgn+kvXJic/h2z3eDCthGKc8QHBKUBBlafFHzb2O7eHHl/DP2Rx3 GxXirDPRj95YSKgHTtur7zTdP015AAbCAnyH5pjfICrjcDfmZt2Omt4xdBlzdJBa zO9ljYavAgMBAAECggEAB4TquXO8J1dRYLjatfBqiSg8hTYsj1FabZaq86FD0Wxd XTu1wwb9vEog54qNuH9DXczf6LhloZG4RY5MPgh5Gpjvw35Ct6e/anHMWGG1blFZ 9v6XrZ6G+6rqiJA8JBUpCy5A0qF27uC7rilpkR5X8HDmPnWucYFut0K9a9oac+L4 jptWNmQUj4DmBy73OIotRq5Lgpf6LnUeMRTVgIHjs4cJH5l6Vdi/GGQ1dzEXwlfu VYnpUQnVn4d5a0EXO4xqfG4a20wcN7sw9l2zG3cUWqExdjPK1LSIIYxTaC2NrvzZ 1EhGo5p7grvel7XS49VWVlEzPXxelto2FRz3GsZgTQKBgQDmHiaiMSHvBnOh1LjG KRA5M+qQr5PTIJ+jFrJZyo2VuLERpYwQuVP7BDO0wH5JTABdWRsI09TM8oI8FIQf 3jVVsWMHcBpCiuhOPCT2LJzjhgjt1ADF7X8B9+YLEBW+QMjp0Q0etodi0oLHTc/Q 51rYRMS7oPYdtyjF/RrpCGhkMwKBgQDI03D8mqGblMMA1dvCIMQsY2BWQ0tN4i4d k+vRq0We3k2x0BKLM8uTNFSLk1Ibtaou2UkC9xKm+RcYwRCQHW6MuNo2A7HXXCPD gdgXA6wZAxWJh2znOAI2XTMG6Hnom8DK/dmfIISLiVcjFvUXA4bv6zjae8o2g9NX sidIiWr3lQKBgG8+cCrEWcU1dzzqmxCg1UjyAhlD59CO2t16oWmq89tHV8JSJ24G ScT1eRGOZP6GET8PTnRsA1m4eqEUwfKt91af1GHKHcfBYyA/Dxc65fVP3I0sidsl PtryvnDmq7w3kWkHOLJ6RuTNI4+53Bb/YPlf9UNHQvOGkd10yEeTWvPlAoGATRkf n1qeAGS0GHYB0B1UMtZT/coH9vaGTcSkG/Js3/joSwNemyJfXTwR2SPNueWcWDAC 36iK+J9YRqCYAzvJXSz6WRJCDDPLZxtKIku+njuY4Rukq3/NGaHeHSDS7IIfGc8q 5PRO7mLjmQ0POq6X9zOOuBIeJ5+kW16Bxk87SaECgYAr2aIKvdtIFiBJU3A8CVIA BSOWjeEDcyfsKT0Ia8b84h6Xw5mdDwFCyt6OPziIqjrXuiJJCjgPm1IVN7Y+N4a9 K8b//uSvu9zgPWor43nrjTSv8qo472U+JPJIUPp+/6MGjCkZnhqfdUxAVPyTRhfb Vj3W3hI3rB4B9pPjJTACqw== -----END PRIVATE KEY-----
SSL Sertifikasının Sunucuya Yüklenmesi
Sunucunuza root kullanıcısı ile SSH girişi yapın. Aşağıdaki komut ile Nginx altında SSL sertifikalarını depolamak için bir klasör oluşturun.
[email protected]:~# mkdir /etc/nginx/ssl
Klasöre giriş yapın
[email protected]:~# cd /etc/nginx/ssl
Bu noktada iki farklı dosya oluşturmamız gerekiyor. Birisi sertifika diğeri de anahtar için. Öncelikle anahtar ile bağlayalım.
[email protected]:/etc/nginx/ssl# nano siteniz-key.pem
Private key içeriğini kopyalayıp kayıt edin.
Aynı işlemi sertifika için de yapmamız gerekiyor.
[email protected]:/etc/nginx/ssl# nano siteniz-cert.pem
Origin Certificate içeriğini buraya yapıştırıp kaydediyoruz.
Nginx içinde sites-enabled kısmına gelelim var aktif olarak çalışan sitemizin SSL sertifikasını tanıtalım.
[email protected]:/etc/nginx/ssl# cd /etc/nginx/sites-enabled/
Siteminiz conf dosyasını düzenleyelim
[email protected]:/etc/nginx/sites-enabled# nano site.conf
Mevcut conf dosyamızın içine aşağıdaki satırları ekleyelim.
listen 443 ssl http2; listen [::]:443 ssl http2; ssl on; ssl_certificate /etc/nginx/ssl/siteniz-cert.pem; ssl_certificate_key /etc/nginx/ssl/siteniz-key.pem;
Kaydedip çıktıktan sonra ağağıdaki komut ile Nginx’i yenileyelim.
nginx -t && service nginx reload
Aşağıdaki mesaj ile karşılaşırsanız ayarlarda herhangi bir sıkıntı yoktur. Sunucu tarafınızda da çalışan geçerli bir sertifikanız var demektir
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Siteyi sadece SSL olarak çalıştırmak
Ek olarak eğer ki tüm HTTP trafiğini HTTPS yönlendirmek isterseniz Cloudflare üzerinde “Always Use HTTPS” seçeneğini aktif edebilirsiniz.
Herhangi bir soru, sorun ve yardım isteklerinizi yorumlarda iletirseniz, elimden geldiğince yardımcı olmaya çalışırım. İyi günler dilerim.