.. _configuration_server_udp_stream: udp_stream ========== .. versionadded:: 1.13.3 This server forwards a local UDP listening port to one or more remote TCP upstreams. The following common keys are supported: * :ref:`escaper ` * :ref:`user_group ` The user group must use fact-based authentication. It is used only when ``auth_by_client_ip`` is enabled. * :ref:`shared_logger ` * :ref:`listen_in_worker ` * :ref:`udp_sock_speed_limit ` * :ref:`ingress_network_filter ` * :ref:`udp_relay_packet_size ` * :ref:`udp_relay_yield_count ` * :ref:`udp_relay_batch_count ` * :ref:`udp_relay_underlying_buffer_size ` * :ref:`task_idle_check_interval ` * :ref:`task_idle_max_count ` * :ref:`flush_task_log_on_created ` * :ref:`flush_task_log_on_connected ` * :ref:`task_log_flush_interval ` * :ref:`extra_metrics_tags ` listen ------ **optional**, **type**: :external+values:ref:`udp listen ` Listening configuration for this server. The instance count setting will be ignored if *listen_in_worker* is correctly enabled. **default**: not set udp_conn_track -------------- **optional**, **type**: :external+values:ref:`udp conn track ` Set the UDP connection track config. **default**: set with default values, the max sessions count is 4096, which should be adjusted according the listen instance count upstream -------- **required**, **type**: :external+values:ref:`upstream str ` | seq Remote address or addresses and port. The port is always required. For *seq* value, each of its element must be :external+values:ref:`weighted upstream addr `. **alias**: proxy_pass upstream_pick_policy ---------------------- **optional**, **type**: :external+values:ref:`selective pick policy ` Policy used to select the upstream address. The key for ketama/rendezvous/jump hash is **. **default**: random auth_by_client_ip ----------------- **optional**, **type**: bool, **conflict**: auth_by_server_ip Enables fact-based user authentication using the client IP address as the authentication fact. If enabled, ``user_group`` must also be set. **default**: false