| 1. General Results, most used to calculate the result |
A | name "patri.fr" is domain, public suffix is ".fr", top-level-domain is ".fr", top-level-domain-type is "country-code", Country is France, tld-manager is "Association Française pour le Nommage Internet en Coopération (A.F.N.I.C.)", num .fr-domains preloaded: 3151 (complete: 231048)
|
A | Good: All ip addresses are public addresses
|
A | Good: Minimal 2 ip addresses per domain name found: patri.fr has 2 different ip addresses (authoritative).
|
A | Good: Minimal 2 ip addresses per domain name found: www.patri.fr has 2 different ip addresses (authoritative).
|
A | Good: Ipv4 and Ipv6 addresses per domain name found: patri.fr has 1 ipv4, 1 ipv6 addresses
|
A | Good: Ipv4 and Ipv6 addresses per domain name found: www.patri.fr has 1 ipv4, 1 ipv6 addresses
|
A | Good: No asked Authoritative Name Server had a timeout
|
A | Good: destination is https
|
A | Good: No cookie sent via http.
|
A | Good: every https has a Strict Transport Security Header
|
A | Good: HSTS max-age is long enough, 63072000 seconds = 730 days
|
A | Good: HSTS has includeSubdomains - directive
|
A | Good: HSTS has preload directive
|
A | Excellent: Domain is in the Google-Preload-List
|
A | Excellent: 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: Some urls with http status 200/404 have a complete Content-Type header (MediaType / MediaSubType + correct charset):0 complete Content-Type - header (9 urls)
|
| https://patri.fr/ 78.196.241.242
|
| Url with incomplete Content-Type - header - missing charset
|
| https://patri.fr/ 2a01:e34:ec4f:1f20::100
|
| Url with incomplete Content-Type - header - missing charset
|
| https://www.patri.fr/ 78.196.241.242
|
| Url with incomplete Content-Type - header - missing charset
|
| https://www.patri.fr/ 2a01:e34:ec4f:1f20::100
|
| Url with incomplete Content-Type - header - missing charset
|
| https://patri.fr/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
|
| Url with incomplete Content-Type - header - missing charset
|
| https://78.196.241.242/ 78.196.241.242
|
| Url with incomplete Content-Type - header - missing charset
|
| https://[2a01:0e34:ec4f:1f20:0000:0000:0000:0100]/ 2a01:e34:ec4f:1f20::100
|
| Url with incomplete Content-Type - header - missing charset
|
| https://mta-sts.patri.fr/.well-known/mta-sts.txt 78.196.241.242
|
| Url with incomplete Content-Type - header - missing charset
|
| https://mta-sts.patri.fr/.well-known/mta-sts.txt 2a01:e34:ec4f:1f20::100
|
| Url with incomplete Content-Type - header - missing charset
|
A | http://patri.fr/ 78.196.241.242
| https://patri.fr/
| Correct redirect http - https with the same domain name
|
A | http://patri.fr/ 2a01:e34:ec4f:1f20::100
| https://patri.fr/
| Correct redirect http - https with the same domain name
|
C | Error - no preferred version www or non-www. Select one version as preferred version, then add a redirect https + not-preferred version to https + preferred version. Perhaps in your port 443 vHost something like "RewriteEngine on" + "RewriteCond %{SERVER_NAME} = example.com" + "ReWriteRule ^ https://www.example.com%{REQUEST_URI} [END,QSA,R=permanent]" (three rows, without the "). That should create a redirect https + example.com ⇒ https + www.example.com. Or switch both values to use the non-www version as your preferred version.
|
C | Error - more then one version with Http-Status 200. After all redirects, all users (and search engines) should see the same https url: Non-www or www, but not both with http status 200.
|
E | http://www.patri.fr/ 78.196.241.242
| https://patri.fr/
| Wrong redirect one domain http to other domain https. First redirect to https without new dns query, 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.
|
E | http://www.patri.fr/ 2a01:e34:ec4f:1f20::100
| https://patri.fr/
| Wrong redirect one domain http to other domain https. First redirect to https without new dns query, 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.
|
N | https://78.196.241.242/ 78.196.241.242
|
| Error - Certificate isn't trusted, RemoteCertificateNameMismatch
|
N | https://[2a01:0e34:ec4f:1f20:0000:0000:0000:0100]/ 2a01:e34:ec4f:1f20::100
|
| Error - Certificate isn't trusted, RemoteCertificateNameMismatch
|
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 patri.fr, 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.patri.fr, 2 ip addresses.
|
| Info: Checking all ip addresses of that domain without sending the hostname only one certificate found. Checking all ip addresses and sending the hostname only one certificate found. Both certificates are the same. So that domain doesn't require Server Name Indication (SNI), it's the primary certificate of that set of ip addresses.: Domain patri.fr, 2 ip addresses, 1 different http results.
|
| Info: Checking all ip addresses of that domain without sending the hostname only one certificate found. Checking all ip addresses and sending the hostname only one certificate found. Both certificates are the same. So that domain doesn't require Server Name Indication (SNI), it's the primary certificate of that set of ip addresses.: Domain www.patri.fr, 2 ip addresses, 1 different http results.
|
A | Good: _mta-sts TXT record found (mta-sts: Mail Transfer Agent Strict Transport Security - see RFC 8461). Domainname: _mta-sts.patri.fr
|
A | Good: _mta-sts TXT record is valid.
|
A | Good: Subdomain mta-sts found: Subdomain-name: mta-sts.patri.fr, ip : 78.196.241.242
|
A | Good: Subdomain mta-sts found: Subdomain-name: mta-sts.patri.fr, ip : 2a01:e34:ec4f:1f20::100
|
A | Good: Certificate of subdomain is valid. mta-sts.patri.fr, ip : 78.196.241.242
|
A | Good: Certificate of subdomain is valid. mta-sts.patri.fr, ip : 2a01:e34:ec4f:1f20::100
|
A | Good: /.well-known/mta-sts.txt with http status 200 found. Complete path: https://mta-sts.patri.fr/.well-known/mta-sts.txt - ip : 78.196.241.242
|
A | Good: /.well-known/mta-sts.txt with http status 200 found. Complete path: https://mta-sts.patri.fr/.well-known/mta-sts.txt - ip : 2a01:e34:ec4f:1f20::100
|
A | Good: mta-sts.txt has the required names "version", "mode", "max_age". mta-sts.patri.fr, ip : 78.196.241.242
|
A | Good: mta-sts.txt has the required names "version", "mode", "max_age". mta-sts.patri.fr, ip : 2a01:e34:ec4f:1f20::100
|
A | Good: Minimal one mx definition found. mta-sts.patri.fr, ip : 78.196.241.242
|
A | Good: Minimal one mx definition found. mta-sts.patri.fr, ip : 2a01:e34:ec4f:1f20::100
|
A | Excellent: Complete and valid MTA-STS found!
|
| 2. Header-Checks (Cross-Origin-* headers are alpha - started 2024-06-05) |
A | patri.fr 78.196.241.242
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
A |
| Referrer-Policy
| Ok: Header without syntax errors found: strict-origin-when-cross-origin
|
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: 0
|
B |
|
| Info: Header is deprecated. May not longer work in modern browsers. 0
|
A | patri.fr 2a01:e34:ec4f:1f20::100
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
A |
| Referrer-Policy
| Ok: Header without syntax errors found: strict-origin-when-cross-origin
|
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: 0
|
B |
|
| Info: Header is deprecated. May not longer work in modern browsers. 0
|
A | www.patri.fr 78.196.241.242
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
A |
| Referrer-Policy
| Ok: Header without syntax errors found: strict-origin-when-cross-origin
|
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: 0
|
B |
|
| Info: Header is deprecated. May not longer work in modern browsers. 0
|
A | www.patri.fr 2a01:e34:ec4f:1f20::100
| X-Content-Type-Options
| Ok: Header without syntax errors found: nosniff
|
A |
| Referrer-Policy
| Ok: Header without syntax errors found: strict-origin-when-cross-origin
|
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: 0
|
B |
|
| Info: Header is deprecated. May not longer work in modern browsers. 0
|
F | patri.fr 78.196.241.242
| Content-Security-Policy
| Critical: Missing Header:
|
F | patri.fr 78.196.241.242
| Permissions-Policy
| Critical: Missing Header:
|
F | patri.fr 2a01:e34:ec4f:1f20::100
| Content-Security-Policy
| Critical: Missing Header:
|
F | patri.fr 2a01:e34:ec4f:1f20::100
| Permissions-Policy
| Critical: Missing Header:
|
F | www.patri.fr 78.196.241.242
| Content-Security-Policy
| Critical: Missing Header:
|
F | www.patri.fr 78.196.241.242
| Permissions-Policy
| Critical: Missing Header:
|
F | www.patri.fr 2a01:e34:ec4f:1f20::100
| Content-Security-Policy
| Critical: Missing Header:
|
F | www.patri.fr 2a01:e34:ec4f:1f20::100
| Permissions-Policy
| Critical: Missing Header:
|
| 3. DNS- and NameServer - Checks |
A | Info:: 11 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 2 Name Servers.
|
A | Info:: 11 Queries complete, 11 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.dns15.ovh.net (2001:41d0:1:4a86::1, 213.251.188.134), dns15.ovh.net (2001:41d0:1:4a86::1, 213.251.188.134)
|
| Ok (4 - 8):: An average of 5.5 queries per domain name server required to find all ip addresses of all name servers.
|
A | Info:: 2 different Name Servers found: dns15.ovh.net, ns15.ovh.net, 2 Name Servers included in Delegation: dns15.ovh.net, ns15.ovh.net, 2 Name Servers included in 1 Zone definitions: dns15.ovh.net, ns15.ovh.net, 1 Name Servers listed in SOA.Primary: dns15.ovh.net.
|
A | Good: Only one SOA.Primary Name Server found.: dns15.ovh.net.
|
A | Good: SOA.Primary Name Server included in the delegation set.: dns15.ovh.net.
|
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: dns15.ovh.net, ns15.ovh.net
|
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: 2 different Name Servers found
|
A | Good: All name servers have ipv4- and ipv6-addresses.: 2 different Name Servers found
|
| Warning: All Name Servers have the same Top Level Domain / Public Suffix. If there is a problem with that Top Level Domain, your domain may be affected. Better: Use Name Servers with different top level domains.: 2 Name Servers, 1 Top Level Domain: net
|
| Warning: All Name Servers have the same domain name. If there is a problem with that domain name (or with the name servers of that domain name), your domain may be affected. Better: Use Name Servers with different domain names / different top level domains.: Only one domain name used: ovh.net
|
| Warning: All Name Servers from the same Country / IP location.: 2 Name Servers, 1 Countries: FR
|
A | Info: Ipv4-Subnet-list: 2 Name Servers, 1 different subnets (first Byte): 213., 1 different subnets (first two Bytes): 213.251., 2 different subnets (first three Bytes): 213.251.128., 213.251.188.
|
A | Good: Name Server IPv4-addresses from different subnet found:
|
A | Info: IPv6-Subnet-list: 2 Name Servers with IPv6, 1 different subnets (first block): 2001:, 1 different subnets (first two blocks): 2001:41d0:, 1 different subnets (first three blocks): 2001:41d0:0001:, 2 different subnets (first four blocks): 2001:41d0:0001:1986:, 2001:41d0:0001:4a86:
|
A | Good: Name Server IPv6 addresses from different subnets found.
|
A | Good: Nameserver supports TCP connections: 4 good Nameserver
|
A | Good: Nameserver supports Echo Capitalization: 4 good Nameserver
|
A | Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 4 good Nameserver
|
A | Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 4 good Nameserver
|
| Nameserver doesn't pass all EDNS-Checks: a.nic.fr: OP100: no result. FLAGS: no result. V1: no result. V1OP100: no result. V1FLAGS: no result. DNSSEC: no result. V1DNSSEC: no result. NSID: no result. COOKIE: no result. CLIENTSUBNET: no result.
|
| Nameserver doesn't pass all EDNS-Checks: d.nic.fr: OP100: ok. FLAGS: ok. V1: ok. V1OP100: ok. V1FLAGS: ok. DNSSEC: ok. V1DNSSEC: ok. NSID: SOA expected, but NOT found, NOERR expectend and NOERR found, Version 0 expectend and found (dns.ams.nic.fr). COOKIE: SOA expected, but NOT found, NOERR expected, BADVER found, Version 0 expectend and found. CLIENTSUBNET: ok.
|
A | Good: All SOA have the same Serial Number
|
A | Good: CAA entries found, creating certificate is limited: letsencrypt.org 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: 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 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://patri.fr/.well-known/acme-challenge/check-your-website-dot-server-daten-dot-de
| 2.970 seconds
| Warning: 404 needs more then one second
|
A | Duration: 402827 milliseconds, 402.827 seconds
|