Starting to redirect HTTP to HTTPS without breaking POST requests

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


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

(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,


Posted at Nginx Forum:,252683,252683#msg-252683

More information about the nginx mailing list