Redirecting of hostname to full qualified domain name with HTTPS fails [duplicate]

First off, I don't want to use rewrites.

I'm trying to redirect any call (HTTP or HTTPS) to myserver to the secured fully qualified domain using https at https://myserver.fullyqualified.com.

Here is my config

# Redirect all http traffic to https
<VirtualHost *:80> # line 545
  Redirect / https://myserver.fullyqualified.com/
</VirtualHost>

<VirtualHost *:443> # line 549
  ServerName myserver.fullyqualified.com
  SSLEngine on
  SSLCertificateFile "conf/mycert.crt"
  SSLCertificateKeyFile "conf/mykey.key"
</VirtualHost>
<VirtualHost *:443> # line 555
  ServerName myserver
  Redirect / https://myserver.fullyqualified.com/
</VirtualHost>

This works fine for HTTP, I can call http://myserver and it redirects to https://myserver.fullyqualified.com just fine.

However when I call https://myserver I get an error about the site not being secure, and it doesn't redirect to https://myserver.fullyqualified.com like I expect it to.

In Chrome, the error says

This server could not prove that it is myserver; its security certificate is from myserver.fullyqualified.com. This may be caused by a misconfiguration or an attacker intercepting your connection.

This is the output of httpd -S

*:80                   MYSERVER.fullyqualified.com (C:/Apache24/conf/httpd.conf:545)
*:443                  is a NameVirtualHost
         default server myserver.fullyqualified.com (C:/Apache24/conf/httpd.conf:549)
         port 443 namevhost myserver.fullyqualified.com (C:/Apache24/conf/httpd.conf:549)
         port 443 namevhost myserver (C:/Apache24/conf/httpd.conf:555)
ServerRoot: "C:/Apache24"
Main DocumentRoot: "C:/Apache24/htdocs"
Main ErrorLog: "C:/Apache24/logs/error.log"
Mutex default: dir="C:/Apache24/logs/" mechanism=default
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "C:/Apache24/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: SRVROOT=c:/Apache24

How can I redirect HTTPS traffic to the full qualified domain name?


Your SSL certificate for HTTPS should have myserver inside it as a alternative name, as it seem a simple ssl error that block the redirect.

If a homemade certificate please be sure to install it into the client store before testing. You can deploy the certificate by GPO if you are into a active directory domain.


If your cert is for https://example.com, the browser will not accept it to access https://example because the names don't match.

Unless you have self-signed certificates accepted in your browser (and those of all your clients), this can't be prevented, and you won't get any public signed certs (e.g. with Let's encrypt or any regular CA) for a hostname without a TLD.