Jak ručně nainstalovat certifikát SSL pro web je velmi užitečné, když máme hostovaný web bez cPanelu / VestaCP. tutorial je pro NGINX a pro konfiguraci je vyžadován přístup „root“. HTTPS.
Obsah
Jak
- Jak ručně nainstalovat certifikát SSL (HTTPS Připojení) pro web hostovaný na serveru NGINX bez cPanelu nebo VestaCP
- 1. Vygenerujte CSR (žádost o podpis certifikátu)
- 2. Kupte si certifikát SSL a získat soubory .crt a .ca-bundle.
- 3. Nahrajte soubory certifikátů na server přes FTP / SFTP.
- 4. Nakonfigurujte NGINX pro HTTPS – Přidání certifikátů SSL.
- 5. Po ruční instalaci certifikátu zkontrolujte konfiguraci NGINX a restartujte SSL
Řekl jsem to článek z minulého měsíce jak více a více webů přešlo na bezpečná spojení HTTPS a že Firefox Quantum je prvním prohlížečem, který začne červené flaming stránky HTTP jako nebezpečné pro uživatele.
Pomineme-li myšlenku, která se začala zakořeňovat v myslích mnohých, jako jsou weby bez HTTPS by bylo nebezpečné a plné virů a těch s HTTPS jsou čisté jako slza (mimochodem naprosto falešná představa), mnoho správců serverů a stránek je nuceno tento přechod z HTTP na protokol provést HTTPS.
Přechod od HTTP protokol at HTTPS zahrnuje nákup a certifikát SSL nebo použití certifikátu poskytnutého bezplatně projektem Zašifrujeme, Po zakoupení certifikátu SSLMělo by být nainstalován na serveruPak webové stránky nakonfigurované pro přechod z http:// na https://.
Jak ručně nainstalovat certifikát SSL (HTTPS Připojení) pro web hostovaný na serveru NGINX bez cPanelu nebo VestaCP
Podívejme se krok za krokem, jak certifikát nainstalovat SSL na serveru s NGINX.
uživatelé cPanel nebo VestaCP mají na dosah ruky ve vyhrazených oblastech správy, kde mohou umístit a instalovat certifikáty SSL, Pro uživatele, který je k dispozici pouze příkazového řádku z jeho konzoly serveru SSH, věci se trochu komplikují. Musí to udělat odeslat do certifikátů si konfigurovat NGINX pro přepnutí z HTTP na HTTPS.
1. Vygenerujte CSR (žádost o podpis certifikátu)
Přihlásíte se k serveru, na kterém je hostován web, který chcete aktivovat HTTPS a spusťte následující příkazový řádek. Nejlépe v /etc/nginx/ssl.
openssl req -new -newkey rsa:2048 -nodes -keyout numedomeniu.key -out numedomeniu.csr
Výhodně to je název souborů .key a .crt zadejte název domény, pro kterou je budete používat. V případě, že jich budete časem používat několik, vězte, který a odkud je.
Nakonec ve složce, kde byl spuštěn příkazový řádek, získáte dva soubory. domain.csr a domain.key,
2. Kupte si certifikát SSL a získejte soubory .crt a .ca-bundle.
V našem případě jsem koupil PozitivníSSL Certifikát pro více domén z COMODOPřes NAMECHEAP.COM. Po procesu nákupu obdržíte e-mail, ve kterém je nutné certifikát aktivovat SSL. V žádosti o ověření zadejte název domény, pro kterou je certifikát používán, a další údaje obsažené ve formuláři. Požádá vás, abyste také vstoupili CSR kód generováno výše. Zjevně jej najdete v souboru „domainname.csr“. Spustit "kočka numedomeniu.csr„Aby bylo možné kopírovat obsah.
Na závěr budete vyzváni, abyste to udělali Validace názvu domény pro které je certifikát používán. Máte víc validační metody, Nejjednodušší a nejrychlejší je na e-mailovou adresu vytvořenou podle názvu domény.
Jakmile tento krok dokončíte, během několika minut byste měli obdržet e-mail, ve kterém je připojen archiv obsahující dva soubory. osvědčení SSL (například 113029727.crt) a soubor jako 113029727.ca-bundle.
3. Nahrajte soubory certifikátů na server přes FTP / SFTP.
Nahrajte soubory z bodu 2 na server na stejné místo, kde máte soubory z bodu 1, a zkombinujte obsah souborů: domainname.csr a 113029727.ca-bundle do jednoho souboru. Např, ssl-domena.crt.
Nakonec, v nově vytvořeném souboru, ssl-domena.crt musí mít tři kódy certifikátů, první je v souboru 113029727.crt.
4. Nakonfigurujte NGINX pro HTTPS – Přidání certifikátů SSL.
Dalším krokem je nakonfigurovat NGINX pro HTTPS.
Za předpokladu, že jste ji již nakonfigurovali pro protokol HTTP, stačí přidat do konfiguračního souboru domény nginx následující řádky:
server {
listen 80;
server_name numedomeniu.tld www.numedomeniu.tld;
rewrite ^ https://$server_name$request_uri permanent;
}
server {
listen 443 ssl;
server_name numedomeniu.tld www.numedomeniu.tld;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
ssl_certificate /etc/nginx/ssl/ssl-domeniu.crt;
ssl_certificate_key /etc/nginx/ssl/numedomeniu.key;
ssl_prefer_server_ciphers on;
Na řádcích "ssl_certificate"A"ssl_certificate_key„Musíte projít přesná cesta na serveru na dva soubory. Linie "rewrite"Je třeba." trvalé přesměrování z http na https, takže nehrozí duplicitní web na HTTP a HTTPS.
5. Po ruční instalaci certifikátu zkontrolujte konfiguraci NGINX a restartujte SSL
Před restartováním služby nginx je dobré zkontrolovat a nginx.conf.
nginx -t
Pokud je s výsledkem testu nginx vše v pořádku, restartujte službu.
systemctl restart nginx
nebo
service nginx restart
V závislosti na CMS, který na webu používáte: WordPress, Drupal, Magento, Joomla, Prestashop atd. CMS, budete muset nakonfigurovat svou databázi a další soubory, abyste měli platnou webovou stránku HTTPS.
Pokud řekneme, že máte na webové stránce obrázek, jehož cesta začíná „http: //“, nebude tato stránka platná HTTPSa zámek indikátoru nebude přítomen v adresním řádku webového prohlížeče.