/*
* Copyright (C) Igor Sysoev
* Copyright (C) Nginx, Inc.
*/
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_http.h>
typedef struct {
u_char *name;
uint32_t method;
} ngx_http_method_name_t;
#define NGX_HTTP_REQUEST_BODY_FILE_OFF 0
#define NGX_HTTP_REQUEST_BODY_FILE_ON 1
#define NGX_HTTP_REQUEST_BODY_FILE_CLEAN 2
static ngx_int_t ngx_http_core_find_location(ngx_http_request_t *r);
static ngx_int_t ngx_http_core_find_static_location(ngx_http_request_t *r,
ngx_http_location_tree_node_t *node);
static ngx_int_t ngx_http_core_preconfiguration(ngx_conf_t *cf);
static void *ngx_http_core_create_main_conf(ngx_conf_t *cf);
static char *ngx_http_core_init_main_conf(ngx_conf_t *cf, void *conf);
static void *ngx_http_core_create_srv_conf(ngx_conf_t *cf);
static char *ngx_http_core_merge_srv_conf(ngx_conf_t *cf,
void *parent, void *child);
static void *ngx_http_core_create_loc_conf(ngx_conf_t *cf);
static char *ngx_http_core_merge_loc_conf(ngx_conf_t *cf,
void *parent, void *child);
static char *ngx_http_core_server(ngx_conf_t *cf, ngx_command_t *cmd,
void *dummy);
static char *ngx_http_core_location(ngx_conf_t *cf, ngx_command_t *cmd,
void *dummy);
static ngx_int_t ngx_http_core_regex_location(ngx_conf_t *cf,
ngx_http_core_loc_conf_t *clcf, ngx_str_t *regex, ngx_uint_t caseless);
static char *ngx_http_core_types(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_type(ngx_conf_t *cf, ngx_command_t *dummy,
void *conf);
static char *ngx_http_core_listen(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_server_name(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_root(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
static char *ngx_http_core_limit_except(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_directio(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_open_file_cache(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_error_log(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_keepalive(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_internal(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
static char *ngx_http_core_resolver(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
#if (NGX_HTTP_GZIP)
static ngx_int_t ngx_http_gzip_accept_encoding(ngx_str_t *ae);
static ngx_uint_t ngx_http_gzip_quantity(u_char *p, u_char *last);
static char *ngx_http_gzip_disable(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
#endif
static ngx_int_t ngx_http_get_forwarded_addr_internal(ngx_http_request_t *r,
ngx_addr_t *addr, u_char *xff, size_t xfflen, ngx_array_t *proxies,
int recursive);
#if (NGX_HAVE_OPENAT)
static char *ngx_http_disable_symlinks(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
#endif
static char *ngx_http_core_lowat_check(ngx_conf_t *cf, void *post, void *data);
static char *ngx_http_core_pool_size(ngx_conf_t *cf, void *post, void *data);
static ngx_conf_post_t ngx_http_core_lowat_post =
{ ngx_http_core_lowat_check };
static ngx_conf_post_handler_pt ngx_http_core_pool_size_p =
ngx_http_core_pool_size;
static ngx_conf_deprecated_t ngx_conf_deprecated_optimize_server_names = {
ngx_conf_deprecated, "optimize_server_names", "server_name_in_redirect"
};
static ngx_conf_deprecated_t ngx_conf_deprecated_open_file_cache_retest = {
ngx_conf_deprecated, "open_file_cache_retest", "open_file_cache_valid"
};
static ngx_conf_deprecated_t ngx_conf_deprecated_satisfy_any = {
ngx_conf_deprecated, "satisfy_any", "satisfy"
};
static ngx_conf_enum_t ngx_http_core_request_body_in_file[] = {
{ ngx_string("off"), NGX_HTTP_REQUEST_BODY_FILE_OFF },
{ ngx_string("on"), NGX_HTTP_REQUEST_BODY_FILE_ON },
{ ngx_string("clean"), NGX_HTTP_REQUEST_BODY_FILE_CLEAN },
{ ngx_null_string, 0 }
};
#if (NGX_HAVE_FILE_AIO)
static ngx_conf_enum_t ngx_http_core_aio[] = {
{ ngx_string("off"), NGX_HTTP_AIO_OFF },
{ ngx_string("on"), NGX_HTTP_AIO_ON },
#if (NGX_HAVE_AIO_SENDFILE)
{ ngx_string("sendfile"), NGX_HTTP_AIO_SENDFILE },
#endif
{ ngx_null_string, 0 }
};
#endif
static ngx_conf_enum_t ngx_http_core_satisfy[] = {
{ ngx_string("all"), NGX_HTTP_SATISFY_ALL },
{ ngx_string("any"), NGX_HTTP_SATISFY_ANY },
{ ngx_null_string, 0 }
};
static ngx_conf_enum_t ngx_http_core_lingering_close[] = {
{ ngx_string("off"), NGX_HTTP_LINGERING_OFF },
{ ngx_string("on"), NGX_HTTP_LINGERING_ON },
{ ngx_string("always"), NGX_HTTP_LINGERING_ALWAYS },
{ ngx_null_string, 0 }
};
static ngx_conf_enum_t ngx_http_core_if_modified_since[] = {
{ ngx_string("off"), NGX_HTTP_IMS_OFF },
{ ngx_string("exact"), NGX_HTTP_IMS_EXACT },
{ ngx_string("before"), NGX_HTTP_IMS_BEFORE },
{ ngx_null_string, 0 }
};
static ngx_conf_bitmask_t ngx_http_core_keepalive_disable[] = {
{ ngx_string("none"), NGX_HTTP_KEEPALIVE_DISABLE_NONE },
{ ngx_string("msie6"), NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 },
{ ngx_string("safari"), NGX_HTTP_KEEPALIVE_DISABLE_SAFARI },
{ ngx_null_string, 0 }
};
static ngx_path_init_t ngx_http_client_temp_path = {
ngx_string(NGX_HTTP_CLIENT_TEMP_PATH), { 0, 0, 0 }
};
#if (NGX_HTTP_GZIP)
static ngx_conf_enum_t ngx_http_gzip_http_version[] = {
{ ngx_string("1.0"), NGX_HTTP_VERSION_10 },
{ ngx_string("1.1"), NGX_HTTP_VERSION_11 },
{ ngx_null_string, 0 }
};
static ngx_conf_bitmask_t ngx_http_gzip_proxied_mask[] = {
{ ngx_string("off"), NGX_HTTP_GZIP_PROXIED_OFF },
{ ngx_string("expired"), NGX_HTTP_GZIP_PROXIED_EXPIRED },
{ ngx_string("no-cache"), NGX_HTTP_GZIP_PROXIED_NO_CACHE },
{ ngx_string("no-store"), NGX_HTTP_GZIP_PROXIED_NO_STORE },
{ ngx_string("private"), NGX_HTTP_GZIP_PROXIED_PRIVATE },
{ ngx_string("no_last_modified"), NGX_HTTP_GZIP_PROXIED_NO_LM },
{ ngx_string("no_etag"), NGX_HTTP_GZIP_PROXIED_NO_ETAG },
{ ngx_string("auth"), NGX_HTTP_GZIP_PROXIED_AUTH },
{ ngx_string("any"), NGX_HTTP_GZIP_PROXIED_ANY },
{ ngx_null_string, 0 }
};
static ngx_str_t ngx_http_gzip_no_cache = ngx_string("no-cache");
static ngx_str_t ngx_http_gzip_no_store = ngx_string("no-store");
static ngx_str_t ngx_http_gzip_private = ngx_string("private");
#endif
static ngx_command_t ngx_http_core_commands[] = {
{ ngx_string("variables_hash_max_size"),
NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
ngx_conf_set_num_slot,
NGX_HTTP_MAIN_CONF_OFFSET,
offsetof(ngx_http_core_main_conf_t, variables_hash_max_size),
NULL },
{ ngx_string("variables_hash_bucket_size"),
NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
ngx_conf_set_num_slot,
NGX_HTTP_MAIN_CONF_OFFSET,
offsetof(ngx_http_core_main_conf_t, variables_hash_bucket_size),
NULL },
{ ngx_string("server_names_hash_max_size"),
NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
ngx_conf_set_num_slot,
NGX_HTTP_MAIN_CONF_OFFSET,
offsetof(ngx_http_core_main_conf_t, server_names_hash_max_size),
NULL },
{ ngx_string("server_names_hash_bucket_size"),
NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
ngx_conf_set_num_slot,
NGX_HTTP_MAIN_CONF_OFFSET,
offsetof(ngx_http_core_main_conf_t, server_names_hash_bucket_size),
NULL },
{ ngx_string("server"),
NGX_HTTP_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS,
ngx_http_core_server,
0,
0,
NULL },
{ ngx_string("connection_pool_size"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_CONF_TAKE1,
ngx_conf_set_size_slot,
NGX_HTTP_SRV_CONF_OFFSET,
offsetof(ngx_http_core_srv_conf_t, connection_pool_size),
&ngx_http_
没有合适的资源?快使用搜索试试~ 我知道了~
nginx 1.6.0.tar.gz
需积分: 50 15 下载量 6 浏览量
2014-10-30
11:27:25
上传
评论
收藏 784KB GZ 举报
温馨提示
共365个文件
c:168个
h:90个
conf:16个
Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的人所开发的nginx服务器!
资源推荐
资源详情
资源评论
收起资源包目录
nginx 1.6.0.tar.gz (365个子文件)
nginx.8 5KB
acc 224B
bcc 1KB
makefile.bcc 530B
makefile.bcc 382B
makefile.bcc 365B
makefile.bcc 341B
makefile.bcc 333B
ngx_http_core_module.c 140KB
ngx_http_upstream.c 133KB
ngx_http_proxy_module.c 105KB
ngx_http_mp4_module.c 102KB
ngx_http_spdy.c 100KB
ngx_http_fastcgi_module.c 93KB
ngx_http_request.c 91KB
ngx_http_ssi_filter_module.c 78KB
ngx_event_openssl.c 71KB
ngx_resolver.c 68KB
ngx_http_variables.c 61KB
ngx_http_uwsgi_module.c 58KB
ngx_http_parse.c 56KB
ngx_http_scgi_module.c 52KB
ngx_http.c 52KB
ngx_http_file_cache.c 49KB
ngx_http_log_module.c 43KB
ngx_http_geo_module.c 42KB
ngx_event_openssl_stapling.c 42KB
ngx_http_script.c 41KB
ngx_string.c 41KB
ngx_mail_auth_http_module.c 41KB
ngx_http_charset_filter_module.c 40KB
ngx_http_image_filter_module.c 38KB
ngx_process_cycle.c 37KB
ngx_cycle.c 33KB
nginx.c 32KB
ngx_event.c 32KB
ngx_conf_file.c 32KB
ngx_connection.c 31KB
ngx_http_spdy_filter_module.c 31KB
ngx_http_dav_module.c 31KB
ngx_mail_proxy_module.c 31KB
ngx_http_gzip_filter_module.c 31KB
ngx_open_file_cache.c 30KB
ngx_http_xslt_filter_module.c 29KB
ngx_http_rewrite_module.c 28KB
ngx_http_request_body.c 27KB
ngx_http_ssl_module.c 26KB
ngx_inet.c 26KB
ngx_file.c 26KB
ngx_http_limit_req_module.c 25KB
ngx_event_pipe.c 25KB
ngx_mail_parse.c 24KB
ngx_http_range_filter_module.c 24KB
ngx_http_perl_module.c 24KB
ngx_http_geoip_module.c 22KB
ngx_http_userid_filter_module.c 22KB
ngx_hash.c 21KB
ngx_epoll_module.c 20KB
ngx_http_special_response.c 20KB
ngx_http_autoindex_module.c 20KB
ngx_mail_smtp_handler.c 20KB
ngx_http_limit_conn_module.c 20KB
ngx_http_browser_module.c 20KB
ngx_rtsig_module.c 19KB
ngx_http_memcached_module.c 19KB
ngx_kqueue_module.c 19KB
ngx_http_header_filter_module.c 19KB
ngx_http_sub_filter_module.c 19KB
ngx_slab.c 18KB
ngx_freebsd_rfork_thread.c 18KB
ngx_http_upstream_round_robin.c 17KB
ngx_mail_handler.c 17KB
ngx_http_referer_module.c 17KB
ngx_mail_core_module.c 17KB
ngx_http_gunzip_filter_module.c 17KB
ngx_eventport_module.c 16KB
ngx_process.c 16KB
ngx_http_headers_filter_module.c 16KB
ngx_output_chain.c 15KB
ngx_mail_ssl_module.c 15KB
ngx_http_index_module.c 15KB
ngx_devpoll_module.c 15KB
ngx_http_map_module.c 14KB
ngx_mail.c 14KB
ngx_http_upstream_keepalive_module.c 14KB
ngx_event_accept.c 13KB
ngx_http_auth_basic_module.c 12KB
ngx_freebsd_sendfile_chain.c 12KB
ngx_log.c 12KB
ngx_http_access_module.c 12KB
ngx_poll_module.c 11KB
ngx_mail_pop3_handler.c 11KB
ngx_http_auth_request_module.c 11KB
ngx_select_module.c 11KB
ngx_mail_imap_handler.c 11KB
ngx_http_spdy_module.c 11KB
ngx_files.c 11KB
ngx_http_realip_module.c 11KB
ngx_http_upstream_least_conn_module.c 10KB
ngx_win32_select_module.c 10KB
共 365 条
- 1
- 2
- 3
- 4
资源评论
xing94659057
- 粉丝: 0
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 运算放大器基础.pdf
- 本仓库包含我们队伍2019年数模美赛题目A、我们的代码及论文
- 基于JavaWeb图书管理系统课程设计软件源码+数据库+实验报告
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6172.0)
- WesternDigital-SSD-Dashboard-v4.2.2.5
- 计算机视觉,课后习题部分解答(章毓晋)
- “推荐系统”相关资源推荐
- 软件工程期末复习笔记 快速冲刺
- 毕业设计基于Spring Boot的健身房管理系统源码+数据库+使用文档(高分项目)
- 基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本122.0.6170.3)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功