1. General Results, most used to calculate the result A name "nseindejaarsgeschenk.nl" is domain, public suffix is ".nl", top-level-domain is ".nl", top-level-domain-type is "country-code", Country is Netherlands (the), tld-manager is "SIDN (Stichting Internet Domeinregistratie Nederland)", num .nl-domains preloaded: 4513 (complete: 210599) A Good: All ip addresses are public addresses A Good: Minimal 2 ip addresses per domain name found: nseindejaarsgeschenk.nl has 2 different ip addresses (authoritative). A Good: Minimal 2 ip addresses per domain name found: www.nseindejaarsgeschenk.nl has 2 different ip addresses (authoritative). A Good: Ipv4 and Ipv6 addresses per domain name found: nseindejaarsgeschenk.nl has 1 ipv4, 1 ipv6 addresses A Good: Ipv4 and Ipv6 addresses per domain name found: www.nseindejaarsgeschenk.nl has 1 ipv4, 1 ipv6 addresses A Good: No asked Authoritative Name Server had a timeout A Good: one preferred version: non-www is preferred A Good: No cookie sent via http. HSTS-Preload-Status: unknown. Domain never included in the Preload-list. 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) A http://nseindejaarsgeschenk.nl/ 178.62.204.62 https://nseindejaarsgeschenk.nl/ Correct redirect http - https with the same domain name A http://www.nseindejaarsgeschenk.nl/ 178.62.204.62 https://www.nseindejaarsgeschenk.nl/ Correct redirect http - https with the same domain name B https://nseindejaarsgeschenk.nl/ 178.62.204.62 Missing HSTS-Header B https://www.nseindejaarsgeschenk.nl/ 178.62.204.62 Missing HSTS-Header D http://nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2001:678:76c:3760:301::8 http://nseindejaarsgeschenk.nl/ 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.nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2001:678:76c:3760:301::8 http://www.nseindejaarsgeschenk.nl/ 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. H Fatal error: http result with http-status 200, no encryption. Add a redirect http ⇒ https, so every connection is secure. 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. K http://nseindejaarsgeschenk.nl/ 178.62.204.62, Status 301 http://nseindejaarsgeschenk.nl/ 2001:678:76c:3760:301::8, Status 200 Configuration problem - different ip addresses with different status K http://www.nseindejaarsgeschenk.nl/ 178.62.204.62, Status 301 http://www.nseindejaarsgeschenk.nl/ 2001:678:76c:3760:301::8, Status 200 Configuration problem - different ip addresses with different status K https://nseindejaarsgeschenk.nl/ 178.62.204.62, Status 200 https://nseindejaarsgeschenk.nl/ 2001:678:76c:3760:301::8, Status -14 Configuration problem - different ip addresses with different status K https://www.nseindejaarsgeschenk.nl/ 178.62.204.62, Status 301 https://www.nseindejaarsgeschenk.nl/ 2001:678:76c:3760:301::8, Status -14 Configuration problem - different ip addresses with different status K http://nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 178.62.204.62, Status 301 http://nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2001:678:76c:3760:301::8, Status 302 Configuration problem - different ip addresses with different status K http://www.nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 178.62.204.62, Status 301 http://www.nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2001:678:76c:3760:301::8, Status 302 Configuration problem - different ip addresses with different status O nseindejaarsgeschenk.nl / 178.62.204.62 / 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. 16 Cipher Suites without Forward Secrecy found O www.nseindejaarsgeschenk.nl / 178.62.204.62 / 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. 16 Cipher Suites without Forward Secrecy found P https://178.62.204.62/ 178.62.204.62 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 nseindejaarsgeschenk.nl, 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.nseindejaarsgeschenk.nl, 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 nseindejaarsgeschenk.nl, 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.nseindejaarsgeschenk.nl, 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.nseindejaarsgeschenk.nl 2. Header-Checks A nseindejaarsgeschenk.nl 178.62.204.62 X-Content-Type-Options Ok: Header without syntax errors found: nosniff A X-Frame-Options Ok: Header without syntax errors found: SAMEORIGIN B Info: Header is deprecated. May not longer work in modern browsers. SAMEORIGIN. Better solution: Use a Content-Security-Policy Header with a frame-ancestors directive. DENY - use 'none', SAMEORIGIN - use 'self'. If you want to allow some domains to frame your page, add these urls. A X-Xss-Protection Ok: Header without syntax errors found: 1; mode=block B Info: Header is deprecated. May not longer work in modern browsers. 1; mode=block F nseindejaarsgeschenk.nl 178.62.204.62 Content-Security-Policy Critical: Missing Header: F nseindejaarsgeschenk.nl 178.62.204.62 Referrer-Policy Critical: Missing Header: F nseindejaarsgeschenk.nl 178.62.204.62 Permissions-Policy Critical: Missing Header: 3. DNS- and NameServer - Checks A Info:: 6 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 3 Name Servers. A Info:: 6 Queries complete, 6 with IPv6, 0 with IPv4. A Good: All DNS Queries done via IPv6. A Good: Some ip addresses of name servers found with the minimum of two DNS Queries. One to find the TLD-Zone, one to ask the TLD-Zone.ns1.argewebhosting.eu (2a05:1500:702:0:1c00:eff:fe00:ce, 31.25.98.210), ns2.argewebhosting.com (2a05:1500:702:0:1c00:13ff:fe00:a5, 31.25.98.169), ns3.argewebhosting.nl (2a05:1500:600:7:1c00:55ff:fe00:f1a, 92.63.168.137) A Good (1 - 3.0):: An average of 2.0 queries per domain name server required to find all ip addresses of all name servers. A Info:: 3 different Name Servers found: ns1.argewebhosting.eu, ns2.argewebhosting.com, ns3.argewebhosting.nl, 3 Name Servers included in Delegation: ns1.argewebhosting.eu, ns2.argewebhosting.com, ns3.argewebhosting.nl, 3 Name Servers included in 1 Zone definitions: ns1.argewebhosting.eu, ns2.argewebhosting.com, ns3.argewebhosting.nl, 1 Name Servers listed in SOA.Primary: ns1.argewebhosting.eu. A Good: Only one SOA.Primary Name Server found.: ns1.argewebhosting.eu. A Good: SOA.Primary Name Server included in the delegation set.: ns1.argewebhosting.eu. A Good: Consistency between delegation and zone. The set of NS records served by the authoritative name servers must match those proposed for the delegation in the parent zone. Ordered list of name servers: ns1.argewebhosting.eu, ns2.argewebhosting.com, ns3.argewebhosting.nl 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 Good: Minimal 2 different name servers (public suffix and public ip address) found: 3 different Name Servers found A Good: All name servers have ipv4- and ipv6-addresses.: 3 different Name Servers found A Good: Name servers with different Top Level Domains / Public Suffix List entries found: 3 Name Servers, 3 Top Level Domains: nl, eu, com A Good: Name Servers with different domain names found.: 3 different Domains found Warning: All Name Servers from the same Country / IP location.: 3 Name Servers, 1 Countries: NL A Info: Ipv4-Subnet-list: 3 Name Servers, 2 different subnets (first Byte): 31., 92., 2 different subnets (first two Bytes): 31.25., 92.63., 2 different subnets (first three Bytes): 31.25.98., 92.63.168. A Good: Name Server IPv4-addresses from different subnet found: A Info: IPv6-Subnet-list: 3 Name Servers with IPv6, 1 different subnets (first block): 2a05:, 1 different subnets (first two blocks): 2a05:1500:, 2 different subnets (first three blocks): 2a05:1500:0600:, 2a05:1500:0702:, 2 different subnets (first four blocks): 2a05:1500:0600:0007:, 2a05:1500:0702:0000: A Good: Name Server IPv6 addresses from different subnets found. A Good: Nameserver supports TCP connections: 6 good Nameserver A Good: Nameserver supports Echo Capitalization: 6 good Nameserver A Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 6 good Nameserver A Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 6 good Nameserver A Good: All SOA have the same Serial Number Warning: No CAA entry with issue/issuewild found, every CAA can create a certificate. Read https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization to learn some basics about the idea of CAA. Your name server must support such an entry. Not all dns providers support CAA entries. 4. Content- and Performance-critical Checks https://nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Fatal: Check of /.well-known/acme-challenge/random-filename has a timeout. Creating a Letsencrypt certificate via http-01 challenge can't work. You need a running webserver (http) and an open port 80. If it's a home server + ipv4, perhaps a correct port forwarding port 80 extern ⇒ working port intern is required. Port 80 / http can redirect to another domain port 80 or port 443, but not other ports. If it's a home server, perhaps your ISP blocks port 80. Then you may use the dns-01 challenge. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. https://www.nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de Fatal: Check of /.well-known/acme-challenge/random-filename has a timeout. Creating a Letsencrypt certificate via http-01 challenge can't work. You need a running webserver (http) and an open port 80. If it's a home server + ipv4, perhaps a correct port forwarding port 80 extern ⇒ working port intern is required. Port 80 / http can redirect to another domain port 80 or port 443, but not other ports. If it's a home server, perhaps your ISP blocks port 80. Then you may use the dns-01 challenge. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. http://nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2001:678:76c:3760:301::8, Status 302 http://nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 178.62.204.62, Status 301 Fatal: Check of /.well-known/acme-challenge/random-filename has different answers checking ipv6 / ipv4. Ipv6 doesn't have the expected result http status 404 - Not Found. Creating a Letsencrypt certificate via http-01 validation may not work. Checking the validation file in /.well-known/acme-challenge Letsencrypt prefers ipv6. Two options: Remove your ipv6 / AAAA DNS entry or (better) fix your ipv6, so your webserver handles ipv6 correct. Perhaps add "Listen [::]:80". Don't use <VirtualHost ip-address:80>, switch to <VirtualHost *:80>. If you use IIS, check your bindings. Don't select a single ip address. Use this tool to check your raw ipv6 address. Add your domain name in the "Hostname" - field. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. http://www.nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 2001:678:76c:3760:301::8, Status 302 http://www.nseindejaarsgeschenk.nl/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de 178.62.204.62, Status 301 Fatal: Check of /.well-known/acme-challenge/random-filename has different answers checking ipv6 / ipv4. Ipv6 doesn't have the expected result http status 404 - Not Found. Creating a Letsencrypt certificate via http-01 validation may not work. Checking the validation file in /.well-known/acme-challenge Letsencrypt prefers ipv6. Two options: Remove your ipv6 / AAAA DNS entry or (better) fix your ipv6, so your webserver handles ipv6 correct. Perhaps add "Listen [::]:80". Don't use <VirtualHost ip-address:80>, switch to <VirtualHost *:80>. If you use IIS, check your bindings. Don't select a single ip address. Use this tool to check your raw ipv6 address. Add your domain name in the "Hostname" - field. Trouble creating a certificate? Use https://community.letsencrypt.org/ to ask. A Good: Every https result with status 200 supports GZip. https://nseindejaarsgeschenk.nl/ 178.62.204.62 Warning: Https + http status 200 + Inline CSS / JavaScript found. Don't use inline CSS / JavaScript. These are compiled and re-used ressources, save these with a long Cache-Control max-age - header. https://nseindejaarsgeschenk.nl/ 178.62.204.62 Warning: Https result with status 200 found, Html-Content is too big. Should be max. 110 %. May contain inline CSS / JavaScript, too much comments or white space. Re-used ressources - create files with a long Cache-Control max-age header. Remove comments and white space. A Good: Every https connection via port 443 supports the http/2 protocol via ALPN. https://nseindejaarsgeschenk.nl/ 178.62.204.62 Critical: Some script Elements (type text/javascript) with a src-Attribute don't have a defer / async - Attribute. Loading and executing these JavaScripts blocks parsing and rendering the Html-Output. That's bad if your site is large or the connection is slow / mobile usage. Use "async" if the js file has only functions (so nothing is executed after parsing the file) or is independend. Use "defer" if the order of the scripts is important. All "defer" scripts are executed before the DOMContentLoaded event is fired. Check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script to see some details.: 2 script elements without defer/async. A Good: All CSS / JavaScript files are sent with GZip. That reduces the content of the files. 3 external CSS / JavaScript files found Warning: CSS / JavaScript files with a missing or too short Cache-Control header found. Browsers should cache and re-use these files. 2 external CSS / JavaScript files without Cache-Control-Header, 0 with Cache-Control, but no max-age, 1 with Cache-Control max-age too short (minimum 7 days), 0 with Cache-Control long enough, 3 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 A Info: Different Server-Headers found A Duration: 366430 milliseconds, 366.430 seconds