1. General Results, most used to calculate the result A name "taskify.czagrzebski.dev" is subdomain, public suffix is ".dev", top-level-domain is ".dev", top-level-domain-type is "generic", tld-manager is "Charleston Road Registry Inc.", num .dev-domains preloaded: 13 (complete: 221801) A Good: All ip addresses are public addresses A Good: Minimal 2 ip addresses per domain name found: taskify.czagrzebski.dev has 2 different ip addresses (authoritative). A Good: Minimal 2 ip addresses per domain name found: www.taskify.czagrzebski.dev has 2 different ip addresses (authoritative). A Good: Ipv4 and Ipv6 addresses per domain name found: taskify.czagrzebski.dev has 1 ipv4, 1 ipv6 addresses A Good: Ipv4 and Ipv6 addresses per domain name found: www.taskify.czagrzebski.dev has 1 ipv4, 1 ipv6 addresses A Good: No asked Authoritative Name Server had a timeout A Good: destination is https A Good - only one version with Http-Status 200 A Good: one preferred version: non-www is preferred A Good: No cookie sent via http. A Excellent: Main Domain is in the Google-Preload-List A Excellent: Main Domain is in the Mozilla/Firefox-Preload-List A HSTS-Preload-Status: Preloaded. Check https://hstspreload.org/ to learn some basics about the Google-Preload-List. A Good: All urls with http status 200/404 have a complete Content-Type header (MediaType / MediaSubType + correct charset) B https://taskify.czagrzebski.dev/ 142.250.186.51 Missing HSTS-Header B https://taskify.czagrzebski.dev/ 142.250.186.83 Missing HSTS-Header B https://taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 Missing HSTS-Header B https://66.190.13.30/ Missing HSTS-Header B https://www.taskify.czagrzebski.dev/ 142.250.186.51 Missing HSTS-Header B https://www.taskify.czagrzebski.dev/ 142.250.186.83 Missing HSTS-Header B https://www.taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 Missing HSTS-Header B https://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Missing HSTS-Header D http://taskify.czagrzebski.dev/ 142.250.186.51 http://66.190.13.30/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://taskify.czagrzebski.dev/ 142.250.186.83 http://66.190.13.30/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 http://66.190.13.30/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://www.taskify.czagrzebski.dev/ 142.250.186.51 http://66.190.13.30/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://www.taskify.czagrzebski.dev/ 142.250.186.83 http://66.190.13.30/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://www.taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 http://66.190.13.30/ Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://taskify.czagrzebski.dev/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 142.250.186.51 http://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://taskify.czagrzebski.dev/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 142.250.186.83 http://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://taskify.czagrzebski.dev/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2a00:1450:4001:828::2013 http://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://www.taskify.czagrzebski.dev/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 142.250.186.51 http://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://www.taskify.czagrzebski.dev/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 142.250.186.83 http://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. D http://www.taskify.czagrzebski.dev/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2a00:1450:4001:828::2013 http://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Wrong redirect one domain http to other domain http. First redirect to https without changing the domain, so no new dns query is required. So the server can send the HSTS header. That's fundamental using HSTS (Http Strict Transport Security). First step: Add correct redirects http ⇒ https. Perhaps in your port 80 vHost something like "RewriteEngine on" + "RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]" (two rows, without the "). Don't add this in your port 443 vHost, that would create a loop. Then recheck your domain, should be Grade C. There is the rule to select one https version as preferred version. F https://taskify.czagrzebski.dev/ 142.250.186.51 http://66.190.13.30/ Wrong redirect https - http - never redirect https to http F https://taskify.czagrzebski.dev/ 142.250.186.83 http://66.190.13.30/ Wrong redirect https - http - never redirect https to http F https://taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 http://66.190.13.30/ Wrong redirect https - http - never redirect https to http F https://www.taskify.czagrzebski.dev/ 142.250.186.51 http://66.190.13.30/ Wrong redirect https - http - never redirect https to http F https://www.taskify.czagrzebski.dev/ 142.250.186.83 http://66.190.13.30/ Wrong redirect https - http - never redirect https to http F https://www.taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 http://66.190.13.30/ Wrong redirect https - http - never redirect https to http N https://taskify.czagrzebski.dev/ 142.250.186.51 http://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateChainErrors N https://taskify.czagrzebski.dev/ 142.250.186.83 http://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateChainErrors N https://taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 http://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateChainErrors N https://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateNameMismatch, RemoteCertificateChainErrors N https://www.taskify.czagrzebski.dev/ 142.250.186.51 http://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateChainErrors N https://www.taskify.czagrzebski.dev/ 142.250.186.83 http://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateChainErrors N https://www.taskify.czagrzebski.dev/ 2a00:1450:4001:828::2013 http://66.190.13.30/ Error - Certificate isn't trusted, RemoteCertificateChainErrors N https://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Error - Certificate isn't trusted, RemoteCertificateNameMismatch, RemoteCertificateChainErrors O taskify.czagrzebski.dev / 142.250.186.83 / 443 Old connection: Cipher Suites without Forward Secrecy (FS) found. Remove all of these Cipher Suites, use only Cipher Suites with Forward Secrecy: Starting with ECDHE- or DHE - the last "E" says: "ephemeral". Or use Tls.1.3, then all Cipher Suites use FS. 5 Cipher Suites without Forward Secrecy found O taskify.czagrzebski.dev / 2a00:1450:4001:828::2013 / 443 Old connection: Cipher Suites without Forward Secrecy (FS) found. Remove all of these Cipher Suites, use only Cipher Suites with Forward Secrecy: Starting with ECDHE- or DHE - the last "E" says: "ephemeral". Or use Tls.1.3, then all Cipher Suites use FS. 3 Cipher Suites without Forward Secrecy found O www.taskify.czagrzebski.dev / 142.250.186.83 / 443 Old connection: Cipher Suites without Forward Secrecy (FS) found. Remove all of these Cipher Suites, use only Cipher Suites with Forward Secrecy: Starting with ECDHE- or DHE - the last "E" says: "ephemeral". Or use Tls.1.3, then all Cipher Suites use FS. 5 Cipher Suites without Forward Secrecy found O www.taskify.czagrzebski.dev / 2a00:1450:4001:828::2013 / 443 Old connection: Cipher Suites without Forward Secrecy (FS) found. Remove all of these Cipher Suites, use only Cipher Suites with Forward Secrecy: Starting with ECDHE- or DHE - the last "E" says: "ephemeral". Or use Tls.1.3, then all Cipher Suites use FS. 5 Cipher Suites without Forward Secrecy found P https://142.250.186.51/ 142.250.186.51 Error creating a TLS-Connection: No more details available. P https://142.250.186.83/ 142.250.186.83 Error creating a TLS-Connection: No more details available. P https://[2a00:1450:4001:0828:0000:0000:0000:2013]/ 2a00:1450:4001:828::2013 Error creating a TLS-Connection: No more details available. A Good: More then one ip address per domain name found, checking all ip addresses the same http status and the same certificate found: Domain taskify.czagrzebski.dev, 2 ip addresses. A Good: More then one ip address per domain name found, checking all ip addresses the same http status and the same certificate found: Domain www.taskify.czagrzebski.dev, 2 ip addresses. Info: Checking the ip addresses of that domain name not exact one certificate found. So it's impossible to check if that domain requires Server Name Indication (SNI).: Domain taskify.czagrzebski.dev, 2 ip addresses. Info: Checking the ip addresses of that domain name not exact one certificate found. So it's impossible to check if that domain requires Server Name Indication (SNI).: Domain www.taskify.czagrzebski.dev, 2 ip addresses. B No _mta-sts TXT record found (mta-sts: Mail Transfer Agent Strict Transport Security - see RFC 8461). Read the result of server-daten.de (Url-Checks, Comments, Connections and DomainServiceRecords) to see a complete definition. Domainname: _mta-sts.taskify.czagrzebski.dev 2. Header-Checks (alpha, started 2022-10-23, may be buggy / incomplete) F 66.190.13.30 Content-Security-Policy Critical: Missing Header: F 66.190.13.30 X-Content-Type-Options Critical: Missing Header: F 66.190.13.30 Referrer-Policy Critical: Missing Header: F 66.190.13.30 Permissions-Policy Critical: Missing Header: 3. DNS- and NameServer - Checks A Info:: 13 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 4 Name Servers. A Info:: 13 Queries complete, 13 with IPv6, 0 with IPv4. A Good: All DNS Queries done via IPv6. Ok (4 - 8):: An average of 3.3 queries per domain name server required to find all ip addresses of all name servers. A Info:: 4 different Name Servers found: ns-cloud-e1.googledomains.com, ns-cloud-e2.googledomains.com, ns-cloud-e3.googledomains.com, ns-cloud-e4.googledomains.com, 4 Name Servers included in Delegation: ns-cloud-e1.googledomains.com, ns-cloud-e2.googledomains.com, ns-cloud-e3.googledomains.com, ns-cloud-e4.googledomains.com, 4 Name Servers included in 1 Zone definitions: ns-cloud-e1.googledomains.com, ns-cloud-e2.googledomains.com, ns-cloud-e3.googledomains.com, ns-cloud-e4.googledomains.com, 1 Name Servers listed in SOA.Primary: ns-cloud-e1.googledomains.com. A Good: Only one SOA.Primary Name Server found.: ns-cloud-e1.googledomains.com. A Good: SOA.Primary Name Server included in the delegation set.: ns-cloud-e1.googledomains.com. A Good: All Name Server Domain Names have a Public Suffix. A Good: All Name Server Domain Names ending with a Public Suffix have minimal one IPv4- or IPv6 address. A Good: All Name Server ip addresses are public. A Info: Ipv4-Subnet-list: 4 Name Servers, 1 different subnets (first Byte): 216., 1 different subnets (first two Bytes): 216.239., 4 different subnets (first three Bytes): 216.239.32., 216.239.34., 216.239.36., 216.239.38. A Good: Name Server IPv4-addresses from different subnet found: A Info: IPv6-Subnet-list: 4 Name Servers with IPv6, 1 different subnets (first block): 2001:, 1 different subnets (first two blocks): 2001:4860:, 1 different subnets (first three blocks): 2001:4860:4802:, 4 different subnets (first four blocks): 2001:4860:4802:0032:, 2001:4860:4802:0034:, 2001:4860:4802:0036:, 2001:4860:4802:0038: A Good: Name Server IPv6 addresses from different subnets found. A Good: Nameserver supports TCP connections: 8 good Nameserver A Good: Nameserver supports Echo Capitalization: 8 good Nameserver A Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 8 good Nameserver A Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 8 good Nameserver A Good: All SOA have the same Serial Number A Good: CAA entries found, creating certificate is limited: pki.goog is allowed to create certificates 4. Content- and Performance-critical Checks A Good: All checks /.well-known/acme-challenge/random-filename without redirects answer with the expected http status 404 - Not Found. Creating a Letsencrypt certificate via http-01 challenge should work. If it doesn't work: Check your vHost configuration (apachectl -S, httpd -S, nginx -T). Every combination of port and ServerName / ServerAlias (Apache) or Server (Nginx) must be unique. Merge duplicated entries in one vHost. If you use an IIS, extensionless files must be allowed in the /.well-known/acme-challenge subdirectory. Create a web.config in that directory. Content: <configuration><system.webServer><staticContent><mimeMap fileExtension="." mimeType="text/plain" /></staticContent></system.webServer></configuration>. If you have a redirect http ⇒ https, that's ok, Letsencrypt follows such redirects to port 80 / 443 (same or other server). There must be a certificate. But the certificate may be expired, self signed or with a not matching domain name. Checking the validation file Letsencrypt ignores such certificate errors. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. A Good: No https + http status 200 with inline CSS / JavaScript found A Good: Every https result with status 200 has a minified Html-Content with a quota lower then 110 %. A Good: Every https connection via port 443 supports the http/2 protocol via ALPN. A Good: All script Elements (type text/javascript) and src-Attribute have a defer / async - Attribute. So loading and executing these JavaScripts doesn't block parsing and rendering the Html-Output. Warning: CSS / JavaScript found without GZip support. Send these ressources with GZip. 2 external CSS / JavaScript files without GZip found - 0 with GZip, 2 complete Warning: CSS / JavaScript files with a missing or too short Cache-Control header found. Browsers should cache and re-use these files. 0 external CSS / JavaScript files without Cache-Control-Header, 0 with Cache-Control, but no max-age, 2 with Cache-Control max-age too short (minimum 7 days), 0 with Cache-Control long enough, 2 complete. A Good: All checked attribute values are enclosed in quotation marks (" or '). A Info: No img element found, no alt attribute checked A Good: Domainname is not on the "Specially Designated Nationals And Blocked Persons List" (SDN). That's an US-list of individuals and companies owned or controlled by, or acting for or on behalf of, targeted countries. It also lists individuals, groups, and entities, such as terrorists and narcotics traffickers designated under programs that are not country-specific. Collectively, such individuals and companies are called "Specially Designated Nationals" or "SDNs." Their assets are blocked and U.S. persons are generally prohibited from dealing with them. So if a domain name is on that list, it's impossible to create a Letsencrypt certificate with that domain name. Check the list manual - https://www.treasury.gov/resource-center/sanctions/sdn-list/pages/default.aspx https://66.190.13.30/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 4.690 seconds Warning: 404 needs more then one second A Info: Different Server-Headers found A Duration: 478440 milliseconds, 478.440 seconds