Rewrite rules for port 80 and 443;

How am I able to use the same rewrite rule for both port 80 and 443?

It seems like nginx complains if you try to run multiple sites on port
443 with one cert?

The rewrite rule simple add www. to the domain should a person type the
domain without it;

Obviously this rule applies using SSL as well;

I dont have solution for this;

Any help would be appreciated;

On 21 Dez 2010 01h06 WET, [email protected] wrote:

How am I able to use the same rewrite rule for both port 80 and 443?

Try this:

server {
## This is to avoid the spurious if for sub-domain name
## rewriting. See Pitfalls and Common Mistakes | NGINX.
listen [::]:80; # ipv6
listen [::]:443 ssl; # ipv6
server_name example.com;

  ## Server certificate and key.
  ssl_certificate /etc/ssl/certs/example.com-cert.pem;
  ssl_certificate_key /etc/ssl/private/example.com-key.pem;

  ## Use only HTTPS.
  rewrite ^ https://www.example.com$request_uri? permanent;

} # server domain rewrite.

It seems like nginx complains if you try to run multiple sites on
port 443 with one cert?

It should, each site needs a different cert or a cert that supports
several Alternative Names: www.example.com www.example.net, &c.

Cf. Configuring HTTPS servers

The rewrite rule simple add www. to the domain should a person type
the domain without it;

See above.

hth,
— appa