Fórum Root.cz
Hlavní témata => Server => Téma založeno: jan horacek 12. 07. 2018, 21:22:15
-
Předem podotýkám, že jsem naprostý začátečník, takže nekonkrétní pomoc mi nebude moc platná :-\
Mám veřejnou IP. Koupil jsem certifikát pro použití více domén na jedné IP adrese.
V této chvíli, mi Apache běží bez SSL a mám v souboru httpd-vhosts.conf něco takového
<VirtualHost *:80>
DocumentRoot "E:/J/Dokumenty/www/web1"
ServerName www.domena1.com
ErrorLog logs/domena1.log
<Directory "E:/J/Dokumenty/www/web1">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "E:/J/Dokumenty/www/web2"
ServerName sub1.domena2.com
ErrorLog logs/domena2.log
<Directory "E:/J/Dokumenty/www/web2">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "E:/J/Dokumenty/www/web3"
ServerName sub2.domena2.com
ErrorLog logs/domena2_2.log
<Directory "E:/J/Dokumenty/www/web3">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Při nákupu certifikátu jsem vygeneroval na jejich stránkách 2 soubory - www.domena1.com.csr a www.domena1.com.key
Pak jsem obdržel soubory - www.domena1.com.cer a Intermediate_CA_chain.cer
Ale od vydavatele certifikátu také soubory - 266082220.crt, AddTrustExternalCARoot.crt, COMODORSAAddTrustCA.crt a COMODORSADomainValidationSecureServerCA.crt
Hledal jsem jak server nastavit, ale nepodařilo se mi to. Když jsem přidal do souboru httpd-ssl.conf
<VirtualHost *:443>
DocumentRoot "E:/J/Dokumenty/www/web1"
ServerName www.domena1.com
SSLEngine on
SSLCertificateFile ssl/www.domena1.com.cer # Cesta k UC/SAN certifikátu
SSLCACertificateFile ssl/Intermediate_CA_chain.cer # Cesta k intermediate CA certifikátu
SSLCertificateKeyFile ssl/www.domena1.com.key # Cesta k privátnímu klíči
ErrorLog logs/domena1_ssl.log
<Directory "E:/J/Dokumenty/www/web1">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Apache nejde vůbec spustit.
V souboru httpd.conf mám LoadModule ssl_module modules/mod_ssl.so
Najde se dobrá duše, která mi řekne, co kam napsat a jak obdržené soubory vůbec použít? Děkuji moc
-
Zkuste přidat informaci na čem to vlastně spouštíte a také nějaký kousek error logu který nám řekne proč vám Apache nejde spustít, takhle je to na křišťálovou kouli a věštění.
Stefan
-
Zkuste přidat informaci na čem to vlastně spouštíte a také nějaký kousek error logu který nám řekne proč vám Apache nejde spustít, takhle je to na křišťálovou kouli a věštění.
Stefan
Win10
Apache 2
XAMPP
[Thu Jul 12 19:37:11.166709 2018] [ssl:emerg] [pid 16284:tid 788] AH02572: Failed to configure at least one certificate and key for www.domena1.com:443
[Thu Jul 12 19:37:11.168710 2018] [ssl:emerg] [pid 16284:tid 788] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
-
A zkousel jsi pouzit Google?
Co treba https://gist.github.com/nguyenanhtu/33aa7ffb6c36fdc110ea8624eeb51e69
-
A zkousel jsi pouzit Google?
Co treba https://gist.github.com/nguyenanhtu/33aa7ffb6c36fdc110ea8624eeb51e69
Tu stránku jsem samozřejmě četl, ale nechápu. Navíc se tam píše o vytvoření certifikátu, ale ten jsem si přeci koupil. Nevím kam mám uložit všechny ty soubory. To nastavení v souboru httpd-xampp.conf mám také. Apache se nespustí, když tam mám SSLEngine on. Jakmile toto ##, Apache se spustí, ale samozřejmě bez SSL
-
A co si udelat konfiguraci podle navodu a pokud to bude chodit, tak pouze nastavit cestu k zakoupenemu certifikatu a dal upravovat funkcni konfiguraci?
-
Do SSLCertificateFile vždycky dávám celou cestu.
-
A co si udelat konfiguraci podle navodu a pokud to bude chodit, tak pouze nastavit cestu k zakoupenemu certifikatu a dal upravovat funkcni konfiguraci?
Na té stránce jsem prostě nenašel nic, co bych neměl v souborech, kromě vytvoření certifikátu, který mám. Všude se píše o souborech *.crt a já dostal *.cer Nevím co s tím
-
Do SSLCertificateFile vždycky dávám celou cestu.
a s použitím uvozovek? "c:\xampp\apache\ssl\*.cer" nebo bez? Lomítka jsou \ nebo / ?
-
Bez uvozovek a s / lomítky. Ale to je na Linuxu…
-
V jakém formátu máš spárovaný certifikát (p12, pfx)? V crt nebo cer bývá jen veřejná část. Potřebuješ vyexportovat privátní část do formátu pem bez hesla a pak ho Apache sežere.
-
Zkus převést certifikát z cer na crt
openssl x509 -inform DER -in ssl_certificate.cer -out ssl_certificate.crt
A případně odstranit heslo z private key
openssl rsa -in key-file-with-password.pkey -out key-file-without-password.key
-
V jakém formátu máš spárovaný certifikát (p12, pfx)? V crt nebo cer bývá jen veřejná část. Potřebuješ vyexportovat privátní část do formátu pem bez hesla a pak ho Apache sežere.
Vůbec nevím o čem píšeš :D Nic jsem nepároval. Mám jen ty soubory, co jsem psal....
Při nákupu certifikátu jsem vygeneroval na jejich stránkách 2 soubory - www.domena1.com.csr a www.domena1.com.key
Pak jsem obdržel soubory - www.domena1.com.cer a Intermediate_CA_chain.cer
Ale od vydavatele certifikátu také soubory - 266082220.crt, AddTrustExternalCARoot.crt, COMODORSAAddTrustCA.crt a COMODORSADomainValidationSecureServerCA.crt
-
Zkus převést certifikát z cer na crt
openssl x509 -inform DER -in ssl_certificate.cer -out ssl_certificate.crt
A případně odstranit heslo z private key
openssl rsa -in key-file-with-password.pkey -out key-file-without-password.key
A co pak s tím *.crt?
-
A co pak s tím *.crt?
Nastavit do SSLCertificateFile
-
Tady je postup pro konfiguraci *.cer https://www.ssls.cz/instalace-apache-san.html, ale já prostě nespustím Apache, jakmile zapnu
<VirtualHost *:443>
ServerName www.domena1.com
ServerAlias sub1.domena2.com sub.domena2.com
RewriteEngine On
#A ty 2 řádky... vůbec nevím co znamená, nevím kde je cesta na disku
RewriteCond %{HTTPS} != on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
-
Zkus
SSLCertificateFile c:/xampp/apache/ssl/266082220.crt
#SSLCACertificateFile c:/xampp/apache/ssl/Intermediate_CA_chain.cer
SSLCertificateKeyFile c:/xampp/apache/ssl/www.domena1.com.key
-
Zkus
SSLCertificateFile c:/xampp/apache/ssl/266082220.crt
#SSLCACertificateFile c:/xampp/apache/ssl/Intermediate_CA_chain.cer
SSLCertificateKeyFile c:/xampp/apache/ssl/www.domena1.com.key
Nejde :-\
-
Tady je poslední výpis z logs/error.log
[Fri Jul 13 10:32:35.736311 2018] [mpm_winnt:notice] [pid 13480:tid 528] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Fri Jul 13 10:32:37.756284 2018] [mpm_winnt:notice] [pid 4264:tid 776] AH00364: Child: All worker threads have exited.
[Fri Jul 13 10:32:37.878281 2018] [mpm_winnt:notice] [pid 13480:tid 528] AH00430: Parent: Child process 4264 exited successfully.
[Fri Jul 13 10:34:30.147678 2018] [mpm_winnt:notice] [pid 1220:tid 796] AH00455: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/7.0.9 configured -- resuming normal operations
[Fri Jul 13 10:34:30.147678 2018] [mpm_winnt:notice] [pid 1220:tid 796] AH00456: Apache Lounge VC14 Server built: Jul 1 2016 11:09:37
[Fri Jul 13 10:34:30.147678 2018] [core:notice] [pid 1220:tid 796] AH00094: Command line: 'C:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Fri Jul 13 10:34:30.150680 2018] [mpm_winnt:notice] [pid 1220:tid 796] AH00418: Parent: Created child process 16408
AH00548: NameVirtualHost has no effect and will be removed in the next release C:/xampp/apache/conf/extra/httpd-vhosts.conf:19
[Fri Jul 13 10:34:31.227661 2018] [mpm_winnt:notice] [pid 16408:tid 740] AH00354: Child: Starting 150 worker threads.
[Fri Jul 13 10:34:50.130389 2018] [mpm_winnt:notice] [pid 1220:tid 796] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Fri Jul 13 10:34:52.138361 2018] [mpm_winnt:notice] [pid 16408:tid 740] AH00364: Child: All worker threads have exited.
[Fri Jul 13 10:34:52.183359 2018] [mpm_winnt:notice] [pid 1220:tid 796] AH00430: Parent: Child process 16408 exited successfully.
[Fri Jul 13 10:35:00.246242 2018] [ssl:emerg] [pid 18008:tid 784] AH02311: Fatal error initialising mod_ssl, exiting. See C:/xampp/apache/logs/companions_ssl.log for more information
AH00016: Configuration Failed
[Fri Jul 13 10:35:15.442540 2018] [mpm_winnt:notice] [pid 12664:tid 748] AH00455: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/7.0.9 configured -- resuming normal operations
[Fri Jul 13 10:35:15.442540 2018] [mpm_winnt:notice] [pid 12664:tid 748] AH00456: Apache Lounge VC14 Server built: Jul 1 2016 11:09:37
[Fri Jul 13 10:35:15.442540 2018] [core:notice] [pid 12664:tid 748] AH00094: Command line: 'C:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Fri Jul 13 10:35:15.444536 2018] [mpm_winnt:notice] [pid 12664:tid 748] AH00418: Parent: Created child process 12028
AH00548: NameVirtualHost has no effect and will be removed in the next release C:/xampp/apache/conf/extra/httpd-vhosts.conf:19
[Fri Jul 13 10:35:16.500521 2018] [mpm_winnt:notice] [pid 12028:tid 716] AH00354: Child: Starting 150 worker threads.
-
A detail chyby
[Fri Jul 13 10:35:00.244242 2018] [ssl:emerg] [pid 18008:tid 784] AH02572: Failed to configure at least one certificate and key for www.domena1.com:443
[Fri Jul 13 10:35:00.246242 2018] [ssl:emerg] [pid 18008:tid 784] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
-
Pošli ještě obsah logu C:/xampp/apache/logs/companions_ssl.log.
-
Pošli ještě obsah logu C:/xampp/apache/logs/companions_ssl.log.
to je ten detail
[Fri Jul 13 10:35:00.244242 2018] [ssl:emerg] [pid 18008:tid 784] AH02572: Failed to configure at least one certificate and key for www.domena1.com:443
[Fri Jul 13 10:35:00.246242 2018] [ssl:emerg] [pid 18008:tid 784] SSL Library Error: error:140A80B1:SSL routines:SSL_CTX_check_private_key:no certificate assigned
-
Když otevřeš soubor s privátním klíčem v notepadu, jsou tam značky
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
?
-
Když otevřeš soubor s privátním klíčem v notepadu, jsou tam značky
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
?
je tam
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-
Zkus ho klíč ještě protáhnout přes openssl
openssl rsa -in www.domena1.com.key -out www.domena1.com.key.new
a pak nový klíč vložit do konfigurace.
OpenSSL pro win si stáhneš z https://wiki.openssl.org/index.php/Binaries.
-
Zkus ho klíč ještě protáhnout přes openssl
openssl rsa -in www.domena1.com.key -out www.domena1.com.key.new
a pak nový klíč vložit do konfigurace.
OpenSSL pro win si stáhneš z https://wiki.openssl.org/index.php/Binaries.
Nainstaloval jsem to, ale chybí tam OpenSSL.cnf
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
writing RSA key
Mám ho ale v xamppu, můžu ho použít?
-
zkus nebo raději si stáhni jnou binárku, která bude mít conf už obsažen
-
Nepomůže psát cestu k certifikátu se zdvojenými backslash? Např. C:\\cesta\\certifikat.crt když je to na Woknech?
-
Podařilo se mi zprovoznit alespoň to, že se už Apache rozeběhne. Aktuálně mám v souboru httpd-vhosts.conf níže uvedené...
Problém je teď to, že když v prohlížeči zadám https://www.domena1.com, přesměruje mě to na nezabezpečenou adresu http://www.domena1.com. Když odkřížkuju přesměrování ve <VirtualHost *:80>, na stránku se nedostanu, píše to Smyčka při přesměrování, Server přesměrovává požadavky na tuto adresu sám na sebe, a to takovým způsobem, který zabraňuje jejich dokončení.
<VirtualHost *:80>
DocumentRoot "E:/J/Dokumenty/www/web1"
ServerName www.domena1.com
ServerAlias sub1.domena2.com sub2.domena1.com
ErrorLog logs/domena1.log
<Directory "E:/J/Dokumenty/www/web1">
Options All
AllowOverride All
Require all granted
</Directory>
RewriteEngine On
# Když tyto 2 níže uvedené řádky odkřížkuji, je ta smyčka
# RewriteCond %{HTTPS} off
# RewriteRule ^/?(.*)$ https://www.domena1.com/$1 [NE,L,R=301]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "E:/J/Dokumenty/www/web1"
ServerName www.domena1.com
ServerAlias sub1.domena2.com sub2.domena1.com
ErrorLog logs/domena1.log
<Directory "E:/J/Dokumenty/www/web1">
Options All
AllowOverride All
Require all granted
</Directory>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domena1.com$ [NC]
RewriteRule ^/?(.*)$ https://www.domena1.com/$1 [NE,L,R=301]
SSLEngine on
SSLProtocol all -SSLv3 -SSLv2
SSLCertificateFile "C:/xampp/apache/ssl/www.domena1.com.cer"
SSLCertificateKeyFile "C:/xampp/apache/ssl/www.domena1.com.key"
SSLCertificateChainFile "C:/xampp/apache/ssl/Intermediate_CA_chain.cer"
</VirtualHost>
-
V <VirtualHost *:443> zakomentuj redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domena1.com$ [NC]
RewriteRule ^/?(.*)$ https://www.domena1.com/$1 [NE,L,R=301]
-
V <VirtualHost *:443> zakomentuj redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domena1.com$ [NC]
RewriteRule ^/?(.*)$ https://www.domena1.com/$1 [NE,L,R=301]
Zkoušel jsem, nepomohlo to. Stále to přesměruje na http
-
Zkus jiny prohlizec, casto je problem s tim, ze si pamtuje historii.
Nebo ho alespon ukonci a pust znovu
-
R=301 je permanentní přesměrování https://en.wikipedia.org/wiki/HTTP_301
změna prohlížeče by měla pomoc nebo si v aktuálním prohlížeči smaž historii.
-
Taky jsem to zkoušel. Všechny prohlížeče, přes mobil, restart serveru... stále stejné
-
Nemůže být chyba třeba v kombinaci se souborem httpd-xampp.conf kde je
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect /xampp folder to https
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} xampp
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L]
# Redirect /phpMyAdmin folder to https
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} phpmyadmin
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L]
# Redirect /security folder to https
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} security
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L]
# Redirect /webalizer folder to https
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} webalizer
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [R,L]
</IfModule>