nghttp2/src
Tatsuhiro Tsujikawa 8c0b2c684a nghttpx: Add options for X-Forwarded-Proto header field
This commit adds 2 new options to handle X-Forwarded-Proto header
field.  The --add-x-forwarded-proto option makes nghttpx append
X-Forwarded-Proto value.  The --strip-incoming-x-forwarded-proto
option makes nghttpx to strip the header field from client.

Previously, nghttpx always strips incoming header field, and set its
own header field.  This commit changes this behaviour.  Now nghttpx
does not strip, and append X-Forwarded-Proto header field by default.
The X-Forwarded-For, and Forwarded header fields are also handled in
the same way.  To recover the old behaviour, use
--add-x-forwarded-proto and --strip-incoming-x-forwarded-proto
options.
2017-04-06 19:17:36 +09:00
..
includes clang-format-3.9 2016-10-15 18:36:04 +09:00
.gitignore
CMakeLists.txt nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
HtmlParser.cc clang-format 2017-02-04 11:29:10 +09:00
HtmlParser.h
HttpServer.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
HttpServer.h nghttpd: Add --encoder-header-table-size option 2016-09-17 22:38:05 +09:00
Makefile.am nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
allocator.h nghttpx: Realloc header buffer 2016-10-01 22:52:02 +09:00
app_helper.cc clang-format-3.9 2016-10-15 18:36:04 +09:00
app_helper.h Add nghttp2_error_callback to tell application human readable error message 2016-03-13 18:22:52 +09:00
asio_client_request.cc
asio_client_request_impl.cc
asio_client_request_impl.h
asio_client_response.cc
asio_client_response_impl.cc
asio_client_response_impl.h
asio_client_session.cc
asio_client_session_impl.cc asio: Fix crash if connect takes longer time than ping interval 2017-03-31 21:17:57 +09:00
asio_client_session_impl.h asio: client: Send PING after 30 seconds idle 2017-03-20 18:37:56 +09:00
asio_client_session_tcp_impl.cc Holding more shared_ptrs instead of raw ptrs to make sure called objects don't get deleted. 2017-02-09 21:00:11 +09:00
asio_client_session_tcp_impl.h clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_client_session_tls_impl.cc clang-format 2017-02-09 21:00:47 +09:00
asio_client_session_tls_impl.h clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_client_stream.cc
asio_client_stream.h
asio_client_tls_context.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
asio_client_tls_context.h
asio_common.cc clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_common.h
asio_io_service_pool.cc More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_io_service_pool.h More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_server.cc clang-format 2017-02-11 13:08:08 +09:00
asio_server.h
asio_server_connection.h asio: Fix bug that server event loop breaks with exception 2016-03-04 22:43:36 +09:00
asio_server_http2.cc
asio_server_http2_handler.cc close_stream erases from streams_ while it's being iterated over. 2017-02-03 01:36:18 -06:00
asio_server_http2_handler.h asio: Avoid repeated call of io_service::post 2016-10-20 22:12:31 +09:00
asio_server_http2_impl.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
asio_server_http2_impl.h
asio_server_request.cc
asio_server_request_handler.cc src: Add missing mandatory SP after status code 2016-11-04 02:19:37 +09:00
asio_server_request_handler.h
asio_server_request_impl.cc
asio_server_request_impl.h
asio_server_response.cc
asio_server_response_impl.cc
asio_server_response_impl.h
asio_server_serve_mux.cc src: Refactor using StringRef, simplify function parameters 2016-03-04 00:26:59 +09:00
asio_server_serve_mux.h
asio_server_stream.cc
asio_server_stream.h
asio_server_tls_context.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
asio_server_tls_context.h
base64.h base64: Assert that input is multiple of 4 2016-10-03 22:09:45 +09:00
base64_test.cc nghtpx: Add BlockAllocator version of base64 2016-10-02 22:28:43 +09:00
base64_test.h
buffer.h
buffer_test.cc
buffer_test.h
ca-config.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org-key.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org.csr nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org.csr.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
comp_helper.c
comp_helper.h
deflatehd.cc src: Add constexpr to long_options 2017-01-09 19:28:00 +09:00
h2load.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
h2load.h h2load: Explicitly count the number of requests left and inflight 2017-01-26 00:16:12 +09:00
h2load_http1_session.cc h2load: Explicitly count the number of requests left and inflight 2017-01-26 00:16:12 +09:00
h2load_http1_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
h2load_http2_session.cc h2load: Add --header-table-size and --encoder-header-table-size options 2016-10-06 22:26:31 +09:00
h2load_http2_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
h2load_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
h2load_spdy_session.cc h2load: Fix incorrect return value from spdylay_send_callback 2017-01-08 17:32:35 +09:00
h2load_spdy_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
http-parser.patch
http2.cc Revert "nghttpx: Don't capitalize h1 header fields" 2017-02-12 23:27:38 +09:00
http2.h Revert "nghttpx: Don't capitalize h1 header fields" 2017-02-12 23:27:38 +09:00
http2_test.cc Revert "nghttpx: Don't capitalize h1 header fields" 2017-02-12 23:27:38 +09:00
http2_test.h nghttpx: Parse te header field a bit more properly 2016-11-07 22:47:48 +09:00
inflatehd.cc src: Add constexpr to long_options 2017-01-09 19:28:00 +09:00
libevent_util.cc
libevent_util.h
libnghttp2_asio.pc.in
memchunk.h nghttpx: Use Memchunk based read buffer for frontend connection 2017-01-08 23:20:14 +09:00
memchunk_test.cc clang-format-3.9 2016-10-15 18:36:04 +09:00
memchunk_test.h
network.h src: Rename and rewrite numeric_hostport as to_numeric_addr and support AF_UNIX path 2016-02-21 15:28:11 +09:00
nghttp.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
nghttp.h nghttp: Use std::unique_ptr for html_parser 2017-01-18 00:34:39 +09:00
nghttp2_config.h
nghttp2_gzip.c nghttp2_gzip: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7 2017-02-27 21:38:55 +01:00
nghttp2_gzip.h
nghttp2_gzip_test.c
nghttp2_gzip_test.h
nghttpd.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx-unittest.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx.cc nghttpx: Add options for X-Forwarded-Proto header field 2017-04-06 19:17:36 +09:00
shrpx.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_accept_handler.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_accept_handler.h
shrpx_api_downstream_connection.cc nghttpx: Use raw pointer for apis 2017-03-15 23:33:07 +09:00
shrpx_api_downstream_connection.h nghttpx: Add configrevision API endpoint 2017-02-19 23:40:06 +09:00
shrpx_client_handler.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_client_handler.h nghttpx: Effectively revert ff64f64e1d 2017-03-15 00:07:57 +09:00
shrpx_config.cc nghttpx: Add options for X-Forwarded-Proto header field 2017-04-06 19:17:36 +09:00
shrpx_config.h nghttpx: Add options for X-Forwarded-Proto header field 2017-04-06 19:17:36 +09:00
shrpx_config_test.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_config_test.h
shrpx_connect_blocker.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_connect_blocker.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_connection.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_connection.h nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_connection_handler.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_connection_handler.h nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_dns_resolver.cc nghttpx: Handle c-ares success without result 2017-01-03 14:35:05 +09:00
shrpx_dns_resolver.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_dns_tracker.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_dns_tracker.h nghttpx: Periodically remove expired DNS cache entries 2016-12-11 10:42:54 +09:00
shrpx_downstream.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_downstream.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_downstream_connection.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_downstream_connection.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_downstream_connection_pool.cc nghttpx: Close and disallow h1 backend connection on backend replacement 2016-06-04 12:16:31 +09:00
shrpx_downstream_connection_pool.h nghttpx: Close and disallow h1 backend connection on backend replacement 2016-06-04 12:16:31 +09:00
shrpx_downstream_queue.cc nghttpx: Avoid extra allocation on look up host key 2016-10-18 22:19:53 +09:00
shrpx_downstream_queue.h nghttpx: Avoid extra allocation on look up host key 2016-10-18 22:19:53 +09:00
shrpx_downstream_test.cc nghttpx: Realloc header buffer 2016-10-01 22:52:02 +09:00
shrpx_downstream_test.h nghttpx: Make a copy before adding header to Downstream 2016-03-12 21:12:26 +09:00
shrpx_dual_dns_resolver.cc nghttpx: Just return DNS_STATUS_ERROR 2016-12-11 10:39:19 +09:00
shrpx_dual_dns_resolver.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_error.h nghttpx: Redirect to HTTPS URI with redirect-if-not-tls param 2017-02-18 22:32:27 +09:00
shrpx_exec.cc nghttpx: Handle return value of write(2) 2017-03-15 21:28:53 +09:00
shrpx_exec.h nghttpx: Refactor ocsp command execution 2016-10-08 15:22:11 +09:00
shrpx_health_monitor_downstream_connection.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_health_monitor_downstream_connection.h nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_http.cc src: Add missing mandatory SP after status code 2016-11-04 02:19:37 +09:00
shrpx_http.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_http2_downstream_connection.cc nghttpx: Add options for X-Forwarded-Proto header field 2017-04-06 19:17:36 +09:00
shrpx_http2_downstream_connection.h nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_http2_session.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_http2_session.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_http2_upstream.cc nghttpx: Use 502 as server error code 2017-04-01 14:04:55 +09:00
shrpx_http2_upstream.h nghttpx: Add --frontend-max-requests option 2017-02-20 23:36:50 +09:00
shrpx_http_downstream_connection.cc nghttpx: Add options for X-Forwarded-Proto header field 2017-04-06 19:17:36 +09:00
shrpx_http_downstream_connection.h nghttpx: Rename confusing names in HttpDownstreamConnection 2017-01-08 23:09:00 +09:00
shrpx_http_test.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_http_test.h src: Rewrite http:create_via_header_value 2016-03-12 21:13:09 +09:00
shrpx_https_upstream.cc nghttpx: Use 502 as server error code 2017-04-01 14:04:55 +09:00
shrpx_https_upstream.h nghttpx: Add --frontend-max-requests option 2017-02-20 23:36:50 +09:00
shrpx_io_control.cc
shrpx_io_control.h nghttpx: Fix travis gcc compile error 2017-02-17 00:42:25 +09:00
shrpx_live_check.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_live_check.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_log.cc nghttpx: Escape certain characters in access log 2017-03-25 19:17:24 +09:00
shrpx_log.h src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_log_config.cc nghttpx: Use std::chrono::duration_cast 2017-02-17 00:33:26 +09:00
shrpx_log_config.h nghttpx: Update log time stamp in millisecond interval 2017-02-17 00:18:07 +09:00
shrpx_memcached_connection.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_memcached_connection.h nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_memcached_dispatcher.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_memcached_dispatcher.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_memcached_request.h
shrpx_memcached_result.h
shrpx_mruby.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module.cc nghttpx: Add custom memory allocator mainly for header related objects 2016-03-09 21:16:28 +09:00
shrpx_mruby_module.h nghttpx: Add custom memory allocator mainly for header related objects 2016-03-09 21:16:28 +09:00
shrpx_mruby_module_env.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_env.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_request.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_request.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_response.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_mruby_module_response.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_process.h
shrpx_rate_limit.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_rate_limit.h
shrpx_router.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_router.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_router_test.cc nghttpx: Handle edge case wildcard pattern and add tests 2016-06-11 13:33:59 +09:00
shrpx_router_test.h nghttpx: Handle edge case wildcard pattern and add tests 2016-06-11 13:33:59 +09:00
shrpx_signal.cc nghttpx: Don't call functions which are not async-signal-safe 2017-03-01 22:42:30 +09:00
shrpx_signal.h nghttpx: Don't call functions which are not async-signal-safe 2017-03-01 22:42:30 +09:00
shrpx_spdy_upstream.cc nghttpx: Use 502 as server error code 2017-04-01 14:04:55 +09:00
shrpx_spdy_upstream.h nghttpx: Redirect to HTTPS URI with redirect-if-not-tls param 2017-02-18 22:32:27 +09:00
shrpx_tls.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_tls.h nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_tls_test.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_tls_test.h nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_upstream.h nghttpx: Redirect to HTTPS URI with redirect-if-not-tls param 2017-02-18 22:32:27 +09:00
shrpx_worker.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_worker.h nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_worker_process.cc nghttpx: Rename shrpx_ssl.{h,cc} as shrpx_tls.{h,cc} 2017-04-01 15:12:28 +09:00
shrpx_worker_process.h nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_worker_test.cc nghttpx: Fix bug that old config is used during reloading config 2017-02-16 22:46:22 +09:00
shrpx_worker_test.h src: Fix tests 2016-02-29 00:05:32 +09:00
ssl_compat.h Fix -Wexpansion-to-defined warning with clang-3.9 2016-09-19 22:07:03 +09:00
template.h Add constexpr to StringRef(const CharT *, size_t) 2017-01-09 21:15:53 +09:00
template_test.cc Make ImmutableString(const char*) explicit 2016-08-26 22:40:59 +09:00
template_test.h
test.example.com-key.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.example.com.csr nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.example.com.csr.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.example.com.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org-key.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org.csr nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org.csr.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
timegm.c
timegm.h
tls.cc src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
tls.h src: Rename ssl.{h,cc} as tls.{h,cc} 2017-04-01 15:12:28 +09:00
util.cc nghttpx: Avoid copy of std::mt19937 which is huge 2017-03-26 21:14:34 +09:00
util.h nghttpx: Avoid copy of std::mt19937 which is huge 2017-03-26 21:14:34 +09:00
util_test.cc nghttpx: Redirect to HTTPS URI with redirect-if-not-tls param 2017-02-18 22:32:27 +09:00
util_test.h nghttpx: Redirect to HTTPS URI with redirect-if-not-tls param 2017-02-18 22:32:27 +09:00
xsi_strerror.c src: Add XSI-compliant version strerror_r 2016-10-16 22:47:56 +09:00
xsi_strerror.h xsi_strerror: Use stddef.h so that we can use size_t 2016-10-19 23:50:28 +09:00