Starting to redirect HTTP to HTTPS without breaking POST requests

gthb nginx-forum at nginx.us
Tue Aug 19 23:30:04 UTC 2014


Hi,

in a single server block listening on both 80 and 443 ssl, currently in
production, I want to start redirecting all HTTP GET requests to HTTPS ...
but keep serving non-GET requests on HTTP for a little while, so as not to
bork form posts and such made by clients from pages loaded on HTTP before
the change.

This can probably be accomplished by either:

(a) using the kludgy multi-condition if-hack (checking both $scheme = http
and $request_method = GET) as in https://gist.github.com/jrom/1760790

(b) duplicating the server block, one for HTTP and one HTTPS, and adding an
if ($request_method = GET) block in the HTTP one?

... but is there some neater way?

Thanks, best regards,

Gulli

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,252683,252683#msg-252683



More information about the nginx mailing list