Es gibt eine Menge von Subdomains auf unserer Plattform die folgende Art und Weise gehostet:Wie Benutzer mit www auf die bare-Domain mit Nginx umleiten?
server {
listen 443 ssl;
server_name *.company.com;
//...
}
Leider dies entspricht Anfragen mit www.something.company.com aber der SSL-Schlüssel dies nicht unterstützt, und ich mag Anfragen umleiten beginnend mit www. zum Rest der Anfrage zB: something.company.com.
Was ist der beste Weg, das zu tun?
Ich habe versucht, die folgenden verwenden, die nicht funktioniert hat:
server_name *.company.com;
if ($host ~* ^www\.(.*\.company\.com)$) {
return 301 $scheme://$1;
}
Es ist relativ einfach, 'nginx' so zu konfigurieren, dass das Präfix' www.' aus einer URL verloren geht (http://stackoverflow.com/questions/7947030/nginx-no-www-to-www-and-). www-to-no-www), aber wenn Ihr SSL-Zertifikat nicht für die www-Domäne gültig ist, werden die Clients überhaupt keine Verbindung herstellen. Es ist wirklich nur nützlich, wenn Sie ein Wildcard-Zertifikat haben (in diesem Fall würden Sie diese Frage wahrscheinlich nicht stellen) –