Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam!
Jak w tytule, moje pytanie to jak uruchmic? Otóż mam zainstalowany na Debian 11: Apache 2. Moduł SSL z polecenia
a2enmod ssl enabled
wynika że jest urochomione (Module ssl already enabled) ale nie działa po https (pokazuje nie mozna wyświetlić strony) jakby wgl nie było włączone SSL (ERR_SSL_PROTOCOL_ERROR).
przykład:
https://188.125.147.108/test/
bez https:
http://188.125.147.108/test/
czy coś muszę jeszcze skonfigurować (porty 80 i 443 na firewallu mam otwarte)?
Offline
W pliku /etc/apache2/ports.conf
oprócz "Listen 80" powinien być wpis:
<IfModule ssl_module> Listen 443 </IfModule>
Ponadto,
należy włączyć jakąś stronę z SSL,
przykładowo /etc/apache2/sites-available/default-ssl.conf, który może wyglądać mniej więcej tak:
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost> </IfModule>
gdzie port musi być taki, jak zdefiniowany w ports.conf
Stronę default-ssl.conf włącza się poprzez polecenie:
a2ensite default-ssl.conf
a następnie reload apache'a:
systemctl reload apache2
Offline
Pomogło! Nie aktywowałem strony default-ssl.conf za pomocą polecenia a2ensite. Dzięki bardzo!
Offline
Mam tylko problem z vhostami teraz. Otóż jaki bym vhost nie ustawił w tym pliku to wskazuje zawsze na stronę z błedem i wyswietla ERR_SSL_PROTOCOL_ERROR.
Przykładowy vhos jaki wstawiłem:
<VirtualHost *:443> ServerAdmin admin@mojadomena.pl DocumentRoot /var/www/html/mojastrona ServerName www.mojadomena.pl SSLEngine on SSLCertificateFile /etc/apache2/ssl/624e82f3fa38eb9f6eced7e9d1cb653c.crt SSLCertificateKeyFile /etc/apache2/ssl/624e82f3fa38eb9f6eced7e9d1cb653c.key SSLCertificateChainFile /etc/apache2/ssl/ca-bundle.crt </VirtualHost>
Ostatnio edytowany przez markus78 (2023-02-02 08:09:36)
Offline
Domena, na jaką wydany jest certyfikat musi być taka sama jak domena na którą wchodzisz w przeglądarce internetowej.
Jeżeli masz komercyjny certyfikat SSL wydany przez zaufaną firmę wydającą certyfikaty dla twojej domeny, np. mojastrona.mojserwer.pl, to będzie działać jeżeli wchodzisz przez przeglądarkę na ten adres, czyli https://mojastrona.mojserwer.pl.
Jeżeli wchodzisz przez przeglądarkę na adres IP: https://188.125.147.108/test/, to będzie się pojawiał błąd.
Jeżeli w systemie DNS nie ma przypisania tej domeny do adresu IP, to trzeba go będzie dodać.
Jeżeli masz certyfikat wygenerowany przez twój serwer a nie przez zaufaną firmę wydającą certyfikaty, to w przeglądarce będzie się pojawiał błąd, że certyfikat nie jest zaufany, bez względu na to czy wchodzisz po adresie IP czy po nazwie domenowej.
Ostatnio edytowany przez barrandov (2023-02-02 09:04:20)
Offline
Ale coś tu nie mogę właśnie skumać za bardzo. Nawet nie chodzi o to czy cert jest wystawiony przez firmę zaufaną czy nie, bo to pewnie najwyżej pokazałby w przeglądarce ze strona jest niezaufana, zatwierdzimy i puści nas dalej, ale bedzie https i bedzie wskazywałna stronę (najwyzej bedzie przekreslony wykrzyknik). Zresztą stronę www z wystawionym cert przez zaufaną firmę tez testowałęm i tez wyrzuca błąd mimo ze cert i klucz jest poprawny.
Utworzyłem przed chwilą na szybko w DNSie dwa wpisy oraz w pliku /etc/apache2/sites-avalable/vhosts.conf dwa vhosty dla testów:
<VirtualHost *:443> ServerAdmin info@miastko.net DocumentRoot /var/www/html/strona1 ServerName strona1.miastko.net SSLEngine on SSLCertificateFile /etc/apache2/ssl/70cae5dfedc0d66fb691133d3d52d2e6.crt SSLCertificateKeyFile /etc/apache2/ssl/70cae5dfedc0d66fb691133d3d52d2e6.key SSLCertificateChainFile /etc/apache2/ssl/ca-bundle.crt </VirtualHost>
<VirtualHost *:443> ServerAdmin info@miastko.net DocumentRoot /var/www/html/strona2 ServerName strona2.miastko.net SSLEngine on SSLCertificateFile /etc/apache2/ssl/70cae5dfedc0d66fb691133d3d52d2e6.crt SSLCertificateKeyFile /etc/apache2/ssl/70cae5dfedc0d66fb691133d3d52d2e6.key SSLCertificateChainFile /etc/apache2/ssl/ca-bundle.crt </VirtualHost>
a w przeglądarce i tak wskazuje zamiast na te stronę co jest w tych katalogach to pokazuje błąd:
włączyłem obsługę vhostów poleceniem
a2ensite vhost.conf
i dowiązanie utworzyło w /etc/apache2/sites-enabled/. Restart apacha i pokazuje jak pokazuje...
To są te dwa vhosty które stworzyłem:
https://strona1.miastko.net/
https://strona2.miastko.net/
a po wpisaniu adresu IP pokazuje juz strone:
https://188.125.147.108/strona1/
https://188.125.147.108/strona2/
Offline
A są widoczne w konfiguracji. Z sudo/lub roota.
apache2ctl -S
Offline
@markus78
Masz spartoloną konfigurację SSL i jakieś pochrzanione certyfikaty:
openssl s_client -connect strona1.miastko.net:443 CONNECTED(00000003) 140087282378560:error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error:ssl/record/rec_layer_s3.c:1555:SSL alert number 80 --- no peer certificate available --- No client certificate CA names sent Server Temp Key: X25519, 253 bits --- SSL handshake has read 189 bytes and written 321 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) ---
gnutls-cli strona1.miastko.net:443 Processed 140 CA certificate(s). Resolving 'strona1.miastko.net:443'... Connecting to '188.125.147.108:443'... *** Fatal error: A TLS fatal alert has been received. *** Received alert [80]: Internal error
Jak chcesz certy na stronę publiczną, to zainteresuj się projektami certboot albo acme-sh i certami Lets'encrypt.
Czyli w Twoim przypadku certyfikat wildcard dla miastko.net i *.miastko.net
EDIT:
Prawidłowy certyfikat strony WWW na przykładzie dug.net.pl
echo GET | openssl s_client -connect dug.net.pl:443 CONNECTED(00000003) depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1 verify return:1 depth=1 C = US, O = Let's Encrypt, CN = R3 verify return:1 depth=0 CN = dug.net.pl verify return:1 --- Certificate chain 0 s:CN = dug.net.pl i:C = US, O = Let's Encrypt, CN = R3 1 s:C = US, O = Let's Encrypt, CN = R3 i:C = US, O = Internet Security Research Group, CN = ISRG Root X1 2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1 i:O = Digital Signature Trust Co., CN = DST Root CA X3 --- Server certificate -----BEGIN CERTIFICATE----- MIIF9zCCBN+gAwIBAgISBBFX1uaDPnGHRR4KxQ7euNDiMA0GCSqGSIb3DQEBCwUA MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD EwJSMzAeFw0yMjEyMjkwNDI2MDJaFw0yMzAzMjkwNDI2MDFaMBUxEzARBgNVBAMT CmR1Zy5uZXQucGwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1QpPc reai7uEHGIOLVy2GTQa5FJb1N/K6GF56XBPxBja5BhNA779Q3bRkRnefwb0zMWGR wMI7U2gt+QkahFYBQ+hx4yP59Ciiytxnpsb3ZcIq+uG7s0s/PCeRHfSchnNJ21j9 eKcjrGPAnvZGbbYEjxYlNCTiRzT1+1YFLwStF3Voi5vMbpz0H3ojZgdZN4865E81 SJGkABQEk3K/QGiN/HsAgGoFLRUJoFkUbz9CIK2+5HaK0Epe4WFBUyltzYo6MMBF iOMkRA36DHfRtdZV5fuUIhWhLjMP5+TvFpvzHG3JuULnDLlq9OBBRaPRPF3ZccgV zmiXG+tkjhFmiacHAgMBAAGjggMiMIIDHjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0l BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYE FEsIC7mNQb7I4u3Pl7aZYtvwH+VkMB8GA1UdIwQYMBaAFBQusxe3WFbLrlAJQOYf r52LFMLGMFUGCCsGAQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL3IzLm8u bGVuY3Iub3JnMCIGCCsGAQUFBzAChhZodHRwOi8vcjMuaS5sZW5jci5vcmcvMIHz BgNVHREEgeswgeiCDGQuZHVnLm5ldC5wbIIKZHVnLm5ldC5wbIITZm9ydHVua2ku ZHVnLm5ldC5wbIISZm9ydW0uZC5kdWcubmV0LnBsghBmb3J1bS5kdWcubmV0LnBs ghFwb2N6dGEuZHVnLm5ldC5wbIIQd3d3LmQuZHVnLm5ldC5wbIIOd3d3LmR1Zy5u ZXQucGyCF3d3dy5mb3J0dW5raS5kdWcubmV0LnBsghZ3d3cuZm9ydW0uZC5kdWcu bmV0LnBsghR3d3cuZm9ydW0uZHVnLm5ldC5wbIIVd3d3LnBvY3p0YS5kdWcubmV0 LnBsMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYB BQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAgYKKwYBBAHWeQIE AgSB8wSB8ADuAHUAejKMVNi3LbYg6jjgUh7phBZwMhOFTTvSK8E6V6NS61IAAAGF XFg2mQAABAMARjBEAiB+whh36CtgbLquEd/aaZ4ViaWjNBVRya4QfQ4fOXHNvgIg Raiv8egjjiBlA+L2UCMA3xrpNRfDpmx/RRQccQpeFgUAdQC3Pvsk35xNunXyOcW6 WPRsXfxCz3qfNcSeHQmBJe20mQAAAYVcWDhzAAAEAwBGMEQCIEziIVa1VbQ+Tztp AJMeDpQfrzGIlrMvjoZURWIBEljaAiAlpcfVQhnKot5FV6ojGZ5ZSolzXAlqdi4K 5cHwsj7ovzANBgkqhkiG9w0BAQsFAAOCAQEAUVqHvkpISwhrUlOVZDg9QrFNbJML d1T11MmzLjkH/Hs83xPdhuKWSKOyt08L0GkVwGBOFepR71vGOqImCpN3PIyjehuR pydv36QvhJeBnd03DOFCeDWn9T5x9zFGS8oVfi+8kjuFO2s9yAMv/YubMxCN4Ajd EFVnkW/XpDnZ3Dg/tAugvvGiTqe/2x+l0BIXtS1iT1FGFqL/oovauedyEUA6ZHhL KEiR+k7NQ7VOQi5c71cvpy52TDOnPDqR2SejaNZvd7Tv34qgd2wt/wlX00CWQXir 7GlNMvNsdXUMIgSkxcrX2125kkif8EyaoIwOzhV3MQuY4QjdtN8aRNY7hw== -----END CERTIFICATE----- subject=CN = dug.net.pl issuer=C = US, O = Let's Encrypt, CN = R3 --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: RSA-PSS Server Temp Key: X25519, 253 bits --- SSL handshake has read 4787 bytes and written 392 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Server public key is 2048 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) --- DONE
echo GET | gnutls-cli dug.net.pl Processed 140 CA certificate(s). Resolving 'dug.net.pl:443'... Connecting to '145.239.95.70:443'... - Certificate type: X.509 - Got a certificate list of 3 certificates. - Certificate[0] info: - subject `CN=dug.net.pl', issuer `CN=R3,O=Let's Encrypt,C=US', serial 0x041157d6e6833e7187451e0ac50edeb8d0e2, RSA key 2048 bits, signed using RSA-SHA256, activated `2022-12-29 04:26:02 UTC', expires `2023-03-29 04:26:01 UTC', pin-sha256="UYp1TmC2QoKs6k7b44HPdj9TjCSB2zZOzIkCblzMe5s=" Public Key ID: sha1:5878c7bf7f940e8b3ac1c88c6ff403a2781cb0b6 sha256:518a754e60b64282acea4edbe381cf763f538c2481db364ecc89026e5ccc7b9b Public Key PIN: pin-sha256:UYp1TmC2QoKs6k7b44HPdj9TjCSB2zZOzIkCblzMe5s= - Certificate[1] info: - subject `CN=R3,O=Let's Encrypt,C=US', issuer `CN=ISRG Root X1,O=Internet Security Research Group,C=US', serial 0x00912b084acf0c18a753f6d62e25a75f5a, RSA key 2048 bits, signed using RSA-SHA256, activated `2020-09-04 00:00:00 UTC', expires `2025-09-15 16:00:00 UTC', pin-sha256="jQJTbIh0grw0/1TkHSumWb+Fs0Ggogr621gT3PvPKG0=" - Certificate[2] info: - subject `CN=ISRG Root X1,O=Internet Security Research Group,C=US', issuer `CN=DST Root CA X3,O=Digital Signature Trust Co.', serial 0x4001772137d4e942b8ee76aa3c640ab7, RSA key 4096 bits, signed using RSA-SHA256, activated `2021-01-20 19:14:03 UTC', expires `2024-09-30 18:14:03 UTC', pin-sha256="C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHFr8M=" - Status: The certificate is trusted. - Description: (TLS1.3-X.509)-(ECDHE-SECP256R1)-(RSA-PSS-RSAE-SHA256)-(AES-256-GCM) - Session ID: D8:44:CD:FB:F7:03:40:7D:98:1C:9F:B4:E7:3E:44:3E:AF:49:C1:45:06:3B:73:8F:9D:58:B1:EE:49:16:BD:F9 - Options: - Handshake was completed - Simple Client Mode: HTTP/1.1 400 Bad Request Server: nginx Date: Thu, 02 Feb 2023 18:38:04 GMT Content-Type: text/html Content-Length: 150 Connection: close X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Referrer-Policy: no-referrer-when-downgrade Content-Security-Policy: default-src * data: 'unsafe-eval' 'unsafe-inline' Strict-Transport-Security: max-age=31536000; includeSubDomains; preload <html> <head><title>400 Bad Request</title></head> <body> <center><h1>400 Bad Request</h1></center> <hr><center>nginx</center> </body> </html> - Peer has closed the GnuTLS connection
To by było na tyle
Ostatnio edytowany przez Jacekalex (2023-02-02 19:40:31)
Offline
jawojx napisał(-a):
A są widoczne w konfiguracji. Z sudo/lub roota.
Kod:
apache2ctl -S
tak są widoczne
Offline
Jacekalex to nie jest ten problem, bo na innym serwerze (Debian 9) wszystko jest ok z cert i jest ta sama konfiguracja i wszystko działa, a po przerzuceniu stron, vhostów i cert na Debian 11 (świerzo zainstalowany) pojawił się ten problem.
Coś mi brakuje pewnie w konfiguracji, może ktoś wie, może jakieś pakiety jeszcze trzeba doinstalować...
Offline
markus78 napisał(-a):
Jacekalex to nie jest ten problem, bo na innym serwerze (Debian 9) wszystko jest ok z cert i jest ta sama konfiguracja i wszystko działa, a po przerzuceniu stron, vhostów i cert na Debian 11 (świerzo zainstalowany) pojawił się ten problem.
Coś mi brakuje pewnie w konfiguracji, może ktoś wie, może jakieś pakiety jeszcze trzeba doinstalować...
No to miej logi i patrzaj w logi, powinno tam pisać w acces.log i error.log o co dokładnie chodzi.
Offline
@markus78, wygeneruj nowe klucze dla ssl w tym Debianie 11 i zamień konfiguracje na te nowe, i dopiero jak wszystko działa z nowymi, kombinuj dalej.
Ostatnio edytowany przez jawojx (2023-02-03 17:45:45)
Offline
jawojx napisał(-a):
@markus78, wygeneruj nowe klucze dla ssl w tym Debianie 11 i zamień konfiguracje na te nowe, i dopiero jak wszystko działa z nowymi, kombinuj dalej.
Po co generować certy self-signed, jak wystarczy domenę trzymać na jakimś kompatybilnym serwerze DNS i skrypty ACME-SH wygenerują certy wildcard Lets'Encrypt albo ZeroSSL, honorowane przez przeglądarki?
Sznurki:
https://github.com/acmesh-official/acme.sh
https://github.com/acmesh-official/acme.sh/wiki
https://github.com/acmesh-official/acme.sh/wiki/dnsapi
Ostatnio edytowany przez Jacekalex (2024-02-02 20:25:13)
Offline
Strony: 1