Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Redirecting https://server.com to https://www.server.com in apache

I am trying to write a redirect in apache for URL of pattern:

https://server.com to https://www.server.com

without much success

Reason for rediect: My SSL certificate is on www.server.com, so I want the users to go on the correct site (and see secure icon).

Problem: The problem is that when I try to open https://server.com the browser gives me incorrect certificate error and none of my RewriteRule gets executed till I ignore the incorrect certificate problem.

How do I redirect in this case?

like image 942
Ankit Avatar asked Feb 22 '23 09:02

Ankit


1 Answers

You can't do this with one certificate. The reason is that the web server needs to do the ssl handshake before it does the redirect, so you'll always have the problem with invalid certificate.

You really have only one option to do this - cover both, www and no www with a certificate and redirect. This can be done several ways, either get a certificate with multiple domain names called a SAN certificate, or get two certificates, one for www and one without. However, in the second case, you would need two web servers with different ip's to accomplish your task.

An alternate approach, one that use myself, is not to worry about it. Instruct users to go to regular http website and do the redirection yourself when SSL Cconnection is needed. This is what amazon.com does actually. They want you to browse http and they redirect you to SSL only when you buy something. Their certificate is also only valid for www, just go to https://amazon.com and you'll see their certificate is invalid without www

like image 159
Rado Avatar answered Mar 05 '23 16:03

Rado