1. General Results, most used to calculate the result A name "cs.ait.ac.th" is subdomain, public suffix is ".ac.th", top-level-domain is ".th", top-level-domain-type is "country-code", Country is Thailand, tld-manager is "Thai Network Information Center Foundation", num .th-domains preloaded: 88 (complete: 221801) A Good: All ip addresses are public addresses Warning: Only one ip address found: cs.ait.ac.th has only one ip address. Warning: Only one ip address found: www.cs.ait.ac.th has only one ip address. Warning: No ipv6 address found. Ipv6 is the future with a lot of new features. So every domain name should have an ipv6 address. See https://en.wikipedia.org/wiki/IPv6: cs.ait.ac.th has no ipv6 address. Warning: No ipv6 address found. Ipv6 is the future with a lot of new features. So every domain name should have an ipv6 address. See https://en.wikipedia.org/wiki/IPv6: www.cs.ait.ac.th has no ipv6 address. A Good: No asked Authoritative Name Server had a timeout A Good: No cookie sent via http. A Good: every https has a Strict Transport Security Header A Good: HSTS has includeSubdomains - directive 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) B Warning: HSTS max-age is too short - minimum 31536000 = 365 days required, 15768000 seconds = 182 days found 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. 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. N https://cs.ait.ac.th/ 192.41.170.42 Error - Certificate isn't trusted, RemoteCertificateNameMismatch N https://192.41.170.42/ 192.41.170.42 Error - Certificate isn't trusted, RemoteCertificateNameMismatch 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 cs.ait.ac.th, 1 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.cs.ait.ac.th, 1 ip addresses, 1 different http results. 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.cs.ait.ac.th 2. Header-Checks (alpha, started 2022-10-23, may be buggy / incomplete) A cs.ait.ac.th 192.41.170.42 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 A www.cs.ait.ac.th 192.41.170.42 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 cs.ait.ac.th 192.41.170.42 Content-Security-Policy Critical: Missing Header: F cs.ait.ac.th 192.41.170.42 Referrer-Policy Critical: Missing Header: F cs.ait.ac.th 192.41.170.42 Permissions-Policy Critical: Missing Header: F www.cs.ait.ac.th 192.41.170.42 Content-Security-Policy Critical: Missing Header: F www.cs.ait.ac.th 192.41.170.42 Referrer-Policy Critical: Missing Header: F www.cs.ait.ac.th 192.41.170.42 Permissions-Policy Critical: Missing Header: 3. DNS- and NameServer - Checks A Info:: 5 Root-climbing DNS Queries required to find all IPv4- and IPv6-Addresses of 2 Name Servers. A Info:: 5 Queries complete, 3 with IPv6, 2 with IPv4. Warning: Only some DNS Queries done via ipv6. IPv6 is the future, so the name servers of your name servers should have ipv6 addresses. 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.inetserv.ait.ac.th (203.159.0.1) A Good (1 - 3.0):: An average of 2.5 queries per domain name server required to find all ip addresses of all name servers. A Info:: 1 different Name Servers found: dns.cs.ait.ac.th, 1 Name Servers included in Delegation: dns.cs.ait.ac.th, 1 Name Servers included in 1 Zone definitions: dns.cs.ait.ac.th, 1 Name Servers listed in SOA.Primary: dns.cs.ait.ac.th. A Good: Only one SOA.Primary Name Server found.: dns.cs.ait.ac.th. A Good: SOA.Primary Name Server included in the delegation set.: dns.cs.ait.ac.th. 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: dns.cs.ait.ac.th, inetserv.ait.ac.th, ns.thnic.net A Good: All Name Server Domain Names have a Public Suffix. A Good: Minimal 2 different name servers (public suffix and public ip address) found: 3 different Name Servers found Warning: No Name Server IPv6 address found. IPv6 is the future, so your name servers should be visible via IPv6.: 3 different Name Servers found A Good: Name servers with different Top Level Domains / Public Suffix List entries found: 3 Name Servers, 2 Top Level Domains: net, ac.th A Good: Name Servers with different domain names found.: 2 different Domains found Warning: All Name Servers from the same Country / IP location.: 3 Name Servers, 1 Countries: TH A A Info: Nameserver mit different domain names found. May be a problem with DNS-Updates A Good: Nameserver supports TCP connections: 3 good Nameserver A Good: Nameserver supports Echo Capitalization: 3 good Nameserver A Good: Nameserver supports EDNS with max. 512 Byte Udp payload, message is smaller: 3 good Nameserver A Good: Nameserver has passed 10 EDNS-Checks (OP100, FLAGS, V1, V1OP100, V1FLAGS, DNSSEC, V1DNSSEC, NSID, COOKIE, CLIENTSUBNET): 3 good Nameserver A Good: All SOA have the same Serial Number A Good: CAA entries found, creating certificate is limited: ait.ac.th is allowed to create certificates A Good: CAA entries found, creating certificate is limited: cs.ait.ac.th is allowed to create certificates A Good: CAA entries found, creating certificate is limited: letsencrypt.org is allowed to create certificates Warning: Unknown CAA found: ait.ac.th isn't defined. Unknown entry. May be wrong written, may be not longer valid. May be a missing entry in this tool. Warning: Unknown CAA found: cs.ait.ac.th isn't defined. Unknown entry. May be wrong written, may be not longer valid. May be a missing entry in this tool. 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. https://cs.ait.ac.th/ 192.41.170.42 Warning: https result with status 200 and size greater then 1024 Bytes without GZip found. Add GZip support so the html content is compressed. https://www.cs.ait.ac.th/ 192.41.170.42 Warning: https result with status 200 and size greater then 1024 Bytes without GZip found. Add GZip support so the html content is compressed. https://192.41.170.42/ 192.41.170.42 Warning: https result with status 200 and size greater then 1024 Bytes without GZip found. Add GZip support so the html content is compressed. A Good: No https + http status 200 with inline CSS / JavaScript found https://cs.ait.ac.th/ 192.41.170.42 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. https://www.cs.ait.ac.th/ 192.41.170.42 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. https://192.41.170.42/ 192.41.170.42 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. https://cs.ait.ac.th/ 192.41.170.42 Warning: Https connections (Standard Port 443) found without support of the http/2 protocol via ALPN. Http/2 is the new Http-Version (old: http 1.1) with some important new features. Update your server software so http/2 is available. Only one TCP-connection per Server (that's a performance boost), Header-Compression and Server Pushs are available. Domain Sharding and Inline-CSS/Javascript shouldn't used with http/2. https://www.cs.ait.ac.th/ 192.41.170.42 Warning: Https connections (Standard Port 443) found without support of the http/2 protocol via ALPN. Http/2 is the new Http-Version (old: http 1.1) with some important new features. Update your server software so http/2 is available. Only one TCP-connection per Server (that's a performance boost), Header-Compression and Server Pushs are available. Domain Sharding and Inline-CSS/Javascript shouldn't used with http/2. https://192.41.170.42/ 192.41.170.42 Warning: Https connections (Standard Port 443) found without support of the http/2 protocol via ALPN. Http/2 is the new Http-Version (old: http 1.1) with some important new features. Update your server software so http/2 is available. Only one TCP-connection per Server (that's a performance boost), Header-Compression and Server Pushs are available. Domain Sharding and Inline-CSS/Javascript shouldn't used with http/2. Warning: Images with a missing or too short Cache-Control header found. Browsers should cache and re-use these files. 84 image files without Cache-Control-Header, 0 with Cache-Control, but no max-age, 0 with Cache-Control max-age too short (minimum 7 days), 0 with Cache-Control long enough, 84 complete. A Good: Some checked attribute values are enclosed in quotation marks (" or ').: 231 Html-Elements checked, 183 without problems. I Wrong: Attribute values found, not enclosed in quotation marks (" or ').: 48 Html-Elements with attributes and missing enclosed quotation marks found. 57 wrong attributes. A Good: Some img-elements have a valid alt-attribute.: 84 img-elements found, 81 img-elements with correct alt-attributes (defined, not an empty value). Wrong: img-elements without alt-attribute or empty alt-attribute found. The alt-attribute ("alternative") is required and should describe the img. So Screenreader and search engines are able to use these informations.: 3 img-elements without alt-attribute, 0 img-elements with empty alt-attribute found. 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 Duration: 690326 milliseconds, 690.326 seconds