# HG changeset patch # User Igor Sysoev # Date 1196509564 0 # Node ID 447765dc6d67079db6bf1dd0e65e5343203e536d # Parent c74e7fd0bcaf5f582be3e843af1aa2f4a25013c3 do not allow plain 0.9 request to HTTPS diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -1335,13 +1335,6 @@ ngx_http_process_request_header(ngx_http return NGX_ERROR; } - if (r->plain_http) { - ngx_log_error(NGX_LOG_INFO, r->connection->log, 0, - "client sent plain HTTP request to HTTPS port"); - ngx_http_finalize_request(r, NGX_HTTP_TO_HTTPS); - return NGX_ERROR; - } - if (r->headers_in.connection_type == NGX_HTTP_CONNECTION_KEEP_ALIVE) { if (r->headers_in.keep_alive) { r->headers_in.keep_alive_n = @@ -1409,6 +1402,13 @@ ngx_http_process_request(ngx_http_reques c = r->connection; + if (r->plain_http) { + ngx_log_error(NGX_LOG_INFO, c->log, 0, + "client sent plain HTTP request to HTTPS port"); + ngx_http_finalize_request(r, NGX_HTTP_TO_HTTPS); + return; + } + #if (NGX_HTTP_SSL) if (c->ssl) {