Przejdź do głównej zawartości

Generowanie certyfikatów Let's Encrypt w Windows

Jak wygenerować certyfikat Let's Encrypt w systemie Windows? Przewodnik krok po kroku

Certyfikaty SSL/TLS są niezbędne do zabezpieczenia komunikacji między użytkownikami a serwerem. Let's Encrypt to darmowa, zaufana organizacja, która umożliwia generowanie certyfikatów SSL w prosty sposób. W tym wpisie pokażemy, jak wygenerować certyfikat Let's Encrypt w systemie Windows za pomocą narzędzia Certbot oraz jakie opcje i alternatywy są dostępne.

Krok 1: Zainstaluj Python

Certbot wymaga Pythona do działania. Jeśli nie masz go jeszcze zainstalowanego:

  1. Pobierz instalator Pythona ze strony python.org.
  2. Uruchom instalator i zaznacz opcję "Add Python to PATH".

Krok 2: Zainstaluj Certbot

  1. Otwórz wiersz polecenia (cmd) jako administrator.
  2. Zainstaluj Certbot za pomocą pip:
pip install certbot

Krok 3: Wygeneruj certyfikat

  1. Uruchom Certbot, aby wygenerować certyfikat:
certbot certonly --webroot -w ścieżka_do_katalogu_www -d twoja_domena.pl
  • -w ścieżka_do_katalogu_www: Ścieżka do katalogu WWW.
  • -d twoja_domena.pl: Twoja domena.

Postępuj zgodnie z instrukcjami, podając adres e-mail i akceptując warunki korzystania z Let's Encrypt.

Krok 4: Skonfiguruj serwer WWW

Certyfikaty są przechowywane w katalogu:

C:\Certbot\live\twoja_domena.pl\

Pliki fullchain.pem (certyfikat) i privkey.pem (klucz prywatny) należy skonfigurować w serwerze WWW.

Krok 5: Automatyczne odnowienie certyfikatów

Certyfikaty Let's Encrypt są ważne przez 90 dni. Aby je automatycznie odnawiać:

  1. Otwórz Harmonogram zadań w Windows.
  2. Utwórz zadanie, które uruchamia:
certbot renew

Ustaw zadanie na wykonywanie np. co 60 dni.

Alternatywne opcje Certbota

Certbot oferuje wiele opcji dostosowanych do różnych potrzeb. Oto kilka przykładów:

  • Tryby uwierzytelniania:
    • --webroot: Używa katalogu WWW.
    • --standalone: Uruchamia wbudowany serwer HTTP.
    • --dns: Weryfikacja przez DNS (np. dla certyfikatów wildcard).
    • --manual: Ręczna weryfikacja domeny (np. przez dodanie rekordu DNS lub pliku na serwerze)
  • Typy certyfikatów:
    • Pojedyncza domena: -d example.com.
    • Wielodomenowy: -d example.com -d www.example.com.
    • Wildcard: -d example.com -d *.example.com (wymaga weryfikacji DNS).
  • Zaawansowane opcje:
    • Klucze RSA lub ECDSA: --key-type rsa lub --key-type ecdsa.
    • Testowanie: --staging (użyj środowiska testowego Let's Encrypt).
  • Integracja z serwerami:
    • Apache: certbot --apache.
    • Nginx: certbot --nginx.
  • Zarządzanie certyfikatami:
    • Lista certyfikatów: certbot certificates.
    • Usuń certyfikat: certbot delete --cert-name example.com.

Przykłady użycia Certbota

Oto kilka dodatkowych przykładów użycia Certbota, w tym opcja --manual:

1. Weryfikacja ręczna (manual)

Jeśli nie możesz użyć automatycznej weryfikacji (np. przez HTTP lub DNS), możesz skorzystać z opcji --manual:

certbot certonly --manual -d example.com

Certbot poprosi Cię o ręczne dodanie rekordu DNS lub pliku na serwerze WWW w celu weryfikacji domeny.

2. Certyfikat wildcard z weryfikacją DNS

Aby wygenerować certyfikat wildcard (dla subdomen), musisz użyć weryfikacji DNS. Przykład dla Cloudflare:

certbot certonly --dns-cloudflare -d example.com -d *.example.com

Wymaga to skonfigurowania dostawcy DNS (np. Cloudflare, AWS Route53).

3. Certyfikat dla wielu domen

Jeśli chcesz zabezpieczyć kilka domen jednym certyfikatem:

certbot certonly --webroot -w /ścieżka/do/katalogu -d example.com -d www.example.com -d api.example.com

4. Użyj środowiska testowego (staging)

Aby przetestować Certbota bez wpływu na limity Let's Encrypt, użyj środowiska testowego:

certbot certonly --webroot -w /ścieżka/do/katalogu -d example.com --staging

5. Generowanie certyfikatów ECDSA

Jeśli preferujesz certyfikaty oparte na krzywych eliptycznych (ECDSA):

certbot certonly --webroot -w /ścieżka/do/katalogu -d example.com --key-type ecdsa --elliptic-curve secp384r1

 

Podsumowanie

Generowanie certyfikatów Let's Encrypt w systemie Windows jest prostsze, niż może się wydawać. Dzięki Certbotowi możesz zabezpieczyć swoją stronę WWW w kilka minut, a dodatkowe opcje pozwalają dostosować proces do Twoich potrzeb. Pamiętaj o automatycznym odnowieniu certyfikatów, aby uniknąć przerw w działaniu strony.

Jeśli masz pytania lub potrzebujesz pomocy, zajrzyj do oficjalnej dokumentacji Certbota: certbot.eff.org/docs.

Czy korzystasz już z Let's Encrypt? Podziel się swoimi doświadczeniami w komentarzach!

Komentarze

Popularne posty z tego bloga

Polityka wykonawcza skryptów w PowerShellu

Polityka wykonawcza (Execution Policy) w PowerShell – co to jest i jak ją zmienić? PowerShell to potężne narzędzie do automatyzacji i zarządzania systemem Windows. Jednak domyślne ustawienia bezpieczeństwa mogą uniemożliwić uruchamianie skryptów. W tym wpisie wyjaśniam, czym jest polityka wykonawcza (Execution Policy), jak ją sprawdzić i zmienić, aby móc swobodnie korzystać z PowerShell. Czym jest polityka wykonawcza (Execution Policy)? Polityka wykonawcza to mechanizm bezpieczeństwa w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane na systemie. Ma ona na celu zapobieganie przypadkowemu lub złośliwemu uruchomieniu niebezpiecznych skryptów. Dostępne polityki wykonawcze PowerShell oferuje kilka poziomów polityki wykonawczej: Restricted – domyślna polityka. Blokuje wszystkie skrypty PowerShell. Można uruchamiać tylko polecenia wprowadzane bezpośrednio w konsoli. AllSigned – pozwala na uruchamianie tylko skryptów pod...

Kalendarz Google - PHP

Jak dodać wydarzenia do Kalendarza Google w PHP? Wprowadzenie Google Calendar API pozwala na automatyczne dodawanie wydarzeń do kalendarza Google za pomocą PHP. W tym artykule pokażemy dwa sposoby: Uwierzytelnienie użytkownika przez OAuth 2.0 Wykorzystanie konta usługi (Service Account) Metoda 1: OAuth 2.0 – Autoryzacja użytkownika 1. Utworzenie projektu w Google Cloud Console 1. Przejdź do Google Cloud Console . 2. Utwórz nowy projekt lub wybierz istniejący. 3. Włącz Google Calendar API w sekcji API & Services . 2. Konfiguracja danych uwierzytelniających 1. Utwórz dane uwierzytelniające: OAuth 2.0 Client ID . 2. Pobierz plik JSON zawierający klucz autoryzacyjny. 3. Instalacja Google Client Library w PHP composer require google/apiclient:^2.0 4. Autoryzacja użytkownika Tworzymy plik auth.php : <?php require 'vendor/autoload.php'; session_start(); $client = new Google_Client(); $client->setAuthConfig('credentials.json'); $clie...