stripping www and forcing ssl
Gena Makhomed
gmm at csdoc.com
Fri Mar 20 18:57:10 UTC 2015
On 20.03.2015 20:01, David Benfell wrote:
> I am attempting to strip www. and force SSL. Here are the blocks I'm
> using:
>
> server {
> listen 50.250.218.168:80;
> listen 50.250.218.168:443 ssl;
> listen [2001:470:67:2b5::10]:80;
> listen [2001:470:67:2b5::10]:443 ssl;
>
> server_name www.disunitedstates.org;
> include ssl_common;
>
> access_log
> /var/log/nginx/disunitedstates.org/access.log;
> error_log
> /var/log/nginx/disunitedstates.org/error.log;
>
> return 301 https://disunitedstates.org$request_uri;
> }
>
> server {
> listen 50.250.218.168:80;
> listen [2001:470:67:2b5::10]:80;
>
> server_name disunitedstates.org;
>
> access_log
> /var/log/nginx/disunitedstates.org/access.log;
> error_log
> /var/log/nginx/disunitedstates.org/error.log;
>
> return 301 https://disunitedstates.org$request_uri;
> }
>
> I have a separate server block for actually serving the site.
>
> But when one tries to access http://disunitedstates.org, one gets a
> 400 error, "The plain HTTP request was sent to HTTPS port." The
> information I'm finding out on the web about this is confusing and
> contradictory.
>
> How should this be done?
Probably "include ssl_common;" contains "ssl on;"
directive, which forces nginx to use HTTPS on 50.250.218.168:80
http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl
Just remove "ssl on;" from ssl_common include file and reload nginx.
--
Best regards,
Gena
More information about the nginx
mailing list