comparison src/http/ngx_http_special_response.c @ 384:e7054aaedf68

nginx-0.0.7-2004-07-09-11:12:14 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 09 Jul 2004 07:12:14 +0000
parents 2e3cbc1bbe3c
children 6f3b20c1ac50
comparison
equal deleted inserted replaced
383:c05876036128 384:e7054aaedf68
97 static char error_416_page[] = 97 static char error_416_page[] =
98 "<html>" CRLF 98 "<html>" CRLF
99 "<head><title>416 Requested Range Not Satisfiable</title></head>" CRLF 99 "<head><title>416 Requested Range Not Satisfiable</title></head>" CRLF
100 "<body bgcolor=\"white\">" CRLF 100 "<body bgcolor=\"white\">" CRLF
101 "<center><h1>416 Requested Range Not Satisfiable</h1></center>" CRLF 101 "<center><h1>416 Requested Range Not Satisfiable</h1></center>" CRLF
102 ;
103
104
105 static char error_497_page[] =
106 "<html>" CRLF
107 "<head><title>The plain HTTP request was sent to HTTPS port</title></head>" CRLF
108 "<body bgcolor=\"white\">" CRLF
109 "<center><h1>The plain HTTP request was sent to HTTPS por</h1></center>" CRLF
102 ; 110 ;
103 111
104 112
105 static char error_500_page[] = 113 static char error_500_page[] =
106 "<html>" CRLF 114 "<html>" CRLF
164 ngx_string(error_413_page), 172 ngx_string(error_413_page),
165 ngx_string(error_414_page), 173 ngx_string(error_414_page),
166 ngx_null_string, /* 415 */ 174 ngx_null_string, /* 415 */
167 ngx_string(error_416_page), 175 ngx_string(error_416_page),
168 176
169 ngx_string(error_404_page), /* 498 */ 177 ngx_string(error_400_page), /* 497, http to https */
170 ngx_null_string, /* 499 */ 178 ngx_string(error_404_page), /* 498, invalid host name */
179 ngx_null_string, /* 499, client closed connection */
171 180
172 ngx_string(error_500_page), 181 ngx_string(error_500_page),
173 ngx_string(error_501_page), 182 ngx_string(error_501_page),
174 ngx_string(error_502_page), 183 ngx_string(error_502_page),
175 ngx_string(error_503_page), 184 ngx_string(error_503_page),
197 if (r->keepalive != 0) { 206 if (r->keepalive != 0) {
198 switch (error) { 207 switch (error) {
199 case NGX_HTTP_BAD_REQUEST: 208 case NGX_HTTP_BAD_REQUEST:
200 case NGX_HTTP_REQUEST_ENTITY_TOO_LARGE: 209 case NGX_HTTP_REQUEST_ENTITY_TOO_LARGE:
201 case NGX_HTTP_REQUEST_URI_TOO_LARGE: 210 case NGX_HTTP_REQUEST_URI_TOO_LARGE:
211 case NGX_HTTP_TO_HTTPS:
202 case NGX_HTTP_INTERNAL_SERVER_ERROR: 212 case NGX_HTTP_INTERNAL_SERVER_ERROR:
203 r->keepalive = 0; 213 r->keepalive = 0;
204 } 214 }
205 } 215 }
206 216
207 if (r->lingering_close == 1) { 217 if (r->lingering_close == 1) {
208 switch (error) { 218 switch (error) {
209 case NGX_HTTP_BAD_REQUEST: 219 case NGX_HTTP_BAD_REQUEST:
220 case NGX_HTTP_TO_HTTPS:
210 r->lingering_close = 0; 221 r->lingering_close = 0;
211 } 222 }
212 } 223 }
213 224
214 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); 225 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
239 } else { 250 } else {
240 /* 49X, 5XX */ 251 /* 49X, 5XX */
241 err = error - NGX_HTTP_NGX_CODES + 3 + 17; 252 err = error - NGX_HTTP_NGX_CODES + 3 + 17;
242 253
243 switch (error) { 254 switch (error) {
255 case NGX_HTTP_TO_HTTPS:
256 r->headers_out.status = NGX_HTTP_BAD_REQUEST;
257 error = NGX_HTTP_BAD_REQUEST;
258 break;
259
244 case NGX_HTTP_INVALID_HOST: 260 case NGX_HTTP_INVALID_HOST:
245 r->headers_out.status = NGX_HTTP_NOT_FOUND; 261 r->headers_out.status = NGX_HTTP_NOT_FOUND;
246 error = NGX_HTTP_NOT_FOUND; 262 error = NGX_HTTP_NOT_FOUND;
247 break; 263 break;
248 } 264 }