WP Migrate DB Pro (Čeština)
Místní nastavení HTTPS může být obtížné. I když se vám podaří zápasit s podepsanými certifikáty s vlastním podpisem, stále máte chyby v soukromí prohlížeče. V tomto článku projdeme vytvořením vlastní certifikační autority pro místní servery, abyste mohli bez problémů spouštět stránky HTTPS místně.
Proč HTTPS místně?
Proč ne jen používat běžný HTTP lokálně? Protože pokud je vaše produkční stránka pouze HTTPS a vyvíjíte se místně na běžném protokolu HTTP, vaše vývojové a produkční prostředí nejsou tak podobné, jak by mohly být. Například moje vývojové prostředí pro tento web (deliciousbrains.com) běží jako server Ubuntu ve virtuálním stroji VMware (VM) na jeho počítači Mac. Produkční web je server Ubuntu běžící na Linode s téměř identickou konfigurací.
Určitě chcete, aby vaše vývojové prostředí co nejvíce zrcadlovalo produkci.
Pokud se tak nestane, pozvete další problémy objevující se ve výrobě, která se neobjevila v dev. Spuštění protokolu HTTP, když je vaše produkční stránka pouze HTTPS, je rozhodně zbytečné riziko.
Pokus o získání certifikátu SSL fungujícího s vaším místním serverem je ale naštvaný, pokud nepoužíváte nástroj, který jej zpracovává pro vás se vám líbí Valet.
Pokud jste někdy zkoušeli místně provozovat stránky HTTPS, pravděpodobně jste v prohlížeči Chrome viděli něco podobného:
Řešením bylo vytvoření certifikátu s vlastním podpisem a jeho použití. MAMP Pro to dělá za vás a byl mým cílem po celá léta. To již bohužel není možné. Moderní přístup je stát se vaší vlastní Certifikační autoritou (CA)!
Jak to funguje
Chcete-li požádat o certifikát SSL od CA, jako je Verisign nebo GoDaddy, zašlete jim podpis certifikátu Vyžádejte si (CSR) a na oplátku vám dají certifikát, který podepsali pomocí svého kořenového certifikátu a soukromého klíče. Všechny prohlížeče mají kopii (nebo přistupují ke kopii z operačního systému) kořenového certifikátu společnosti Verisign, takže prohlížeč může ověřit, že váš certifikát byl podepsán důvěryhodnou certifikační autoritou.
Proto při generování vlastního podepsaný certifikát, kterému prohlížeč nedůvěřuje. Je podepsán sám sebou. Nebylo podepsáno CA. Ale můžeme vygenerovat vlastní kořenový certifikát a soukromý klíč. Poté přidáme kořenový certifikát ke všem zařízením, která vlastníme, pouze jednou a poté budou všechny certifikáty, které generujeme a podepisujeme, neodmyslitelně důvěryhodné.
Stát se (malou) certifikační autoritou
Je trochu směšné, jak snadné je generovat soubory potřebné k tomu, abyste se stali certifikační autoritou. Trvá to jen dva příkazy. Nejprve vygenerujeme náš soukromý klíč:
Budete vyzváni k zadání přístupové fráze, kterou doporučuji nepřeskakovat a udržovat v bezpečí. Přístupová fráze zabrání tomu, aby každý, kdo dostane váš soukromý klíč, vygeneroval vlastní kořenový certifikát. Výstup by měl vypadat takto:
Potom vygenerujeme kořenový certifikát:
Budete vyzváni k zadání hesla svého soukromého klíče (které jste si právě vybrali) a spoustu otázek. Odpovědi na tyto otázky nejsou tak důležité. Objeví se při pohledu na certifikát, což téměř nikdy neuděláte. Navrhuji, abyste ze společného názvu udělali něco, co poznáte jako svůj kořenový certifikát v seznamu dalších certifikátů. To je opravdu jediná věc, na které záleží.
Nyní byste měli mít dva soubory: myCA.key (váš soukromý klíč) a myCA.pem (váš kořenový certifikát) ).
🎉 Gratulujeme, nyní jste CA. Něco takového.
Chcete-li se stát skutečnou CA, musíte získat kořenový certifikát na všech zařízeních na světě. Začněme těmi, které vlastníte.
Instalace kořenového certifikátu
Kořenový certifikát musíme přidat do všech notebooků, stolních počítačů, tabletů a telefonů, které budou mít přístup na vaše stránky HTTPS. . To může být trochu bolest, ale dobrá zpráva je, že to musíme udělat jen jednou. Jakmile bude náš kořenový certifikát na každém zařízení, bude to dobré, dokud nevyprší jeho platnost.
Přidání kořenového certifikátu do klíčenky macOS
prostřednictvím rozhraní příkazového řádku
Prostřednictvím uživatelského rozhraní
- Otevřete aplikaci Keychain pro macOS
- Přejít na soubor > Importovat položky…
- Vyberte soubor soukromého klíče (tj. MyCA.pem)
- Vyhledejte vše, na co jste odpověděli, jako název běžného jména výše
- Poklepejte na svůj kořenový certifikát v seznamu
- Rozbalte část Důvěra
- Změňte políčko Při použití tohoto certifikátu na „Vždy Důvěřovat ”
- Zavřít okno certifikátu
- Požádá vás o zadání hesla (nebo oskenování prstu), udělejte to
- 🎉 oslavujte!
Přidání kořenového certifikátu do systému iOS
Pokud chcete přidat kořenový certifikát do svých zařízení se systémem iOS, můžete to docela snadno provést podle těchto kroků:
- Pošlete si kořenový certifikát e-mailem, abyste k němu měli přístup na svém zařízení iOS.
- Klikněte na přílohu v e-mailu na vašem zařízení iOS.
- Přejděte do aplikace nastavení a v horní části klikněte na „Profil stažen“
- Klikněte na instalaci vpravo nahoře
- Po instalaci klikněte na zavřít a vraťte se na hlavní stránku Nastavení
- Přejít na „Obecné“ > „O aplikaci“
- Přejděte dolů a klikněte na „Nastavení důvěryhodnosti certifikátu“
- Povolte svůj kořenový certifikát v části „POVOLIT CELOU DŮVĚRU PRO ROOT CERTIFIKÁTY“
Vytvoření certifikátů podepsaných CA Weby pro vývojáře
Nyní, když jsme CA na všech našich zařízeních, můžeme podepisovat certifikáty pro všechny nové weby pro vývojáře, které potřebují HTTPS. Nejprve vytvoříme soukromý klíč:
Poté vytvoříme CSR:
Dostanete všechny stejné otázky jako výše a vaše odpovědi na tom nezáleží. Ve skutečnosti na nich záleží ještě méně, protože se na tento certifikát nebudete dívat v seznamu vedle ostatních.
Dále vytvoříme certifikát pomocí našeho CSR, soukromého klíče CA, certifikátu CA a konfiguračního souboru, ale nejprve musíme tento konfigurační soubor vytvořit.
Konfigurační soubor je potřebný k definování přípony SAN (Subject Alternative Name). který je definován v této části (tj. rozšíření) certifikátu:
Konfigurační soubor (dev.deliciousbrains.com. ext) obsahoval následující:
Spustíme příkaz openssl x509
, protože z toho, co chápu, k podpisu pomocí kořenového certifikátu a soukromého klíče je potřeba příkaz x509. Našel jsem tento příklad konfiguračního souboru na přetečení zásobníku a zdá se, že funguje.
Nyní spustíme příkaz k vytvoření certifikátu:
Nyní můžu nakonfigurovat svůj webový server pomocí soukromého klíče a certifikát. Pokud používáte server se systémem Linux, můžete použít pokyny v naší příručce Instalovat WordPress na Ubuntu 20.04. Pokud používáte MAMP, můžete vybrat soubory certifikátů a klíčů pomocí uživatelského rozhraní:
Bohužel MAMP (testováno na verzi 5.7) nevytváří certifikáty SSL s CA, takže zatím budete muset použít manuální metodu.
U jiných webů pro vývojáře můžeme zopakovat tuto poslední část vytváření certifikátu, nemusíme pro každý web vytvářet novou certifikační autoritu.
Shell Script
Aby to bylo ještě rychlejší, je zde praktický shell skript, který si můžete upravit pro své vlastní účely:
Závěr
Takže tady ho máte, jak se stát vlastním lokálním certifikátem oprávnění podepisovat vaše místní SSL certifikáty a používat HTTPS na vašich místních webech. Doufejme, že tím odstraníte obávanou zprávu „Vaše připojení není soukromé“, kterou máte v prohlížeči Chrome.