Mercurial > hg > nginx-quic
comparison src/http/modules/proxy/ngx_http_proxy_handler.c @ 457:ded1284520cc release-0.1.3
nginx-0.1.3-RELEASE import
*) Feature: the ngx_http_autoindex_module and the autoindex directive.
*) Feature: the proxy_set_x_url directive.
*) Bugfix: proxy module may get caught in an endless loop when sendfile
is not used.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 25 Oct 2004 15:29:23 +0000 |
parents | 295d97d70c69 |
children | a88a3e4e158f |
comparison
equal
deleted
inserted
replaced
456:911c05435a02 | 457:ded1284520cc |
---|---|
94 { ngx_string("proxy_preserve_host"), | 94 { ngx_string("proxy_preserve_host"), |
95 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 95 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
96 ngx_conf_set_flag_slot, | 96 ngx_conf_set_flag_slot, |
97 NGX_HTTP_LOC_CONF_OFFSET, | 97 NGX_HTTP_LOC_CONF_OFFSET, |
98 offsetof(ngx_http_proxy_loc_conf_t, preserve_host), | 98 offsetof(ngx_http_proxy_loc_conf_t, preserve_host), |
99 NULL }, | |
100 | |
101 { ngx_string("proxy_set_x_url"), | |
102 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | |
103 ngx_conf_set_flag_slot, | |
104 NGX_HTTP_LOC_CONF_OFFSET, | |
105 offsetof(ngx_http_proxy_loc_conf_t, set_x_url), | |
99 NULL }, | 106 NULL }, |
100 | 107 |
101 { ngx_string("proxy_set_x_real_ip"), | 108 { ngx_string("proxy_set_x_real_ip"), |
102 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 109 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
103 ngx_conf_set_flag_slot, | 110 ngx_conf_set_flag_slot, |
892 conf->connect_timeout = NGX_CONF_UNSET_MSEC; | 899 conf->connect_timeout = NGX_CONF_UNSET_MSEC; |
893 conf->send_timeout = NGX_CONF_UNSET_MSEC; | 900 conf->send_timeout = NGX_CONF_UNSET_MSEC; |
894 conf->send_lowat = NGX_CONF_UNSET_SIZE; | 901 conf->send_lowat = NGX_CONF_UNSET_SIZE; |
895 | 902 |
896 conf->preserve_host = NGX_CONF_UNSET; | 903 conf->preserve_host = NGX_CONF_UNSET; |
904 conf->set_x_url = NGX_CONF_UNSET; | |
897 conf->set_x_real_ip = NGX_CONF_UNSET; | 905 conf->set_x_real_ip = NGX_CONF_UNSET; |
898 conf->add_x_forwarded_for = NGX_CONF_UNSET; | 906 conf->add_x_forwarded_for = NGX_CONF_UNSET; |
899 | 907 |
900 conf->header_buffer_size = NGX_CONF_UNSET_SIZE; | 908 conf->header_buffer_size = NGX_CONF_UNSET_SIZE; |
901 conf->read_timeout = NGX_CONF_UNSET_MSEC; | 909 conf->read_timeout = NGX_CONF_UNSET_MSEC; |
936 prev->connect_timeout, 60000); | 944 prev->connect_timeout, 60000); |
937 ngx_conf_merge_msec_value(conf->send_timeout, prev->send_timeout, 60000); | 945 ngx_conf_merge_msec_value(conf->send_timeout, prev->send_timeout, 60000); |
938 ngx_conf_merge_size_value(conf->send_lowat, prev->send_lowat, 0); | 946 ngx_conf_merge_size_value(conf->send_lowat, prev->send_lowat, 0); |
939 | 947 |
940 ngx_conf_merge_value(conf->preserve_host, prev->preserve_host, 0); | 948 ngx_conf_merge_value(conf->preserve_host, prev->preserve_host, 0); |
949 ngx_conf_merge_value(conf->set_x_url, prev->set_x_url, 0); | |
941 ngx_conf_merge_value(conf->set_x_real_ip, prev->set_x_real_ip, 0); | 950 ngx_conf_merge_value(conf->set_x_real_ip, prev->set_x_real_ip, 0); |
942 ngx_conf_merge_value(conf->add_x_forwarded_for, | 951 ngx_conf_merge_value(conf->add_x_forwarded_for, |
943 prev->add_x_forwarded_for, 0); | 952 prev->add_x_forwarded_for, 0); |
944 | 953 |
945 ngx_conf_merge_msec_value(conf->read_timeout, prev->read_timeout, 60000); | 954 ngx_conf_merge_msec_value(conf->read_timeout, prev->read_timeout, 60000); |
1145 return NGX_CONF_ERROR; | 1154 return NGX_CONF_ERROR; |
1146 } | 1155 } |
1147 | 1156 |
1148 lcf->peers->number = i; | 1157 lcf->peers->number = i; |
1149 | 1158 |
1159 /* STUB */ | |
1160 lcf->peers->max_fails = 1; | |
1161 lcf->peers->fail_timeout = 60; | |
1162 | |
1150 for (i = 0; h->h_addr_list[i] != NULL; i++) { | 1163 for (i = 0; h->h_addr_list[i] != NULL; i++) { |
1151 lcf->peers->peers[i].host.data = host; | 1164 lcf->peers->peers[i].host.data = host; |
1152 lcf->peers->peers[i].host.len = lcf->upstream->host.len; | 1165 lcf->peers->peers[i].host.len = lcf->upstream->host.len; |
1153 lcf->peers->peers[i].addr = *(in_addr_t *)(h->h_addr_list[i]); | 1166 lcf->peers->peers[i].addr = *(in_addr_t *)(h->h_addr_list[i]); |
1154 lcf->peers->peers[i].port = lcf->upstream->port; | 1167 lcf->peers->peers[i].port = lcf->upstream->port; |