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
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx