comparison src/http/modules/proxy/ngx_http_proxy_handler.c @ 6:80ba094c6b3e NGINX_0_1_3

nginx 0.1.3 *) 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 <http://sysoev.ru>
date Mon, 25 Oct 2004 00:00:00 +0400
parents 4b2dafa26fe2
children 46833bd150cb
comparison
equal deleted inserted replaced
5:985c56ebe724 6:80ba094c6b3e
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;