{"id":29857,"date":"2022-02-21T17:49:07","date_gmt":"2022-02-21T10:49:07","guid":{"rendered":"https:\/\/docs.ruk-com.cloud\/websockets-support-for-apache-nginx"},"modified":"2023-01-31T22:41:09","modified_gmt":"2023-01-31T15:41:09","slug":"websockets-support-for-apache-nginx","status":"publish","type":"post","link":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx","title":{"rendered":"Websockets Support for Apache &amp; NGINX"},"content":{"rendered":"\n<p><strong>WebSockets <\/strong>\u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99-\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e97\u0eb5\u0ec8\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e88\u0eb0\u0e8a\u0ec8\u0ea7\u0e8d\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0ec1\u0ea5\u0e81\u0e9b\u0ec8\u0ebd\u0e99\u0e82\u0ecd\u0ec9\u0e84\u0ea7\u0eb2\u0ea1 \u0ec1\u0ea5\u0eb0 \u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0ec1\u0e9a\u0e9a\u0e97\u0eb1\u0e99\u0e97\u0eb5\u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0eaa\u0ec9\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 TCP \u0ec1\u0e9a\u0e9a full-duplex \u0ea2\u0ec8\u0eb2\u0e87\u0e95\u0ecd\u0ec8\u0ec0\u0e99\u0eb7\u0ec8\u0ead\u0e87\u0ea5\u0eb0\u0eab\u0ea7\u0ec8\u0eb2\u0e87\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0ec1\u0ea5\u0eb0 \u0e9a\u0ea3\u0eb2\u0ea7\u0ec0\u0e8a\u0eb5\u0e82\u0ead\u0e87\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99 \u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9\u0e82\u0ec8\u0ead\u0e87\u0e97\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0eaa\u0eb7\u0ec8\u0eaa\u0eb2\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e81\u0ec8\u0eb2\u0ea7\u0eaa\u0ebb\u0ec8\u0e87\u0e9c\u0ebb\u0e99\u0ec3\u0eab\u0ec9 latency \u0e95\u0ecd\u0ec8\u0eb2\u0eab\u0ebc\u0eb2\u0e8d \u0ec1\u0ea5\u0eb0 \u0ec0\u0e81\u0eb5\u0e94\u0e81\u0eb2\u0e99\u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0e97\u0eb5\u0ec8\u0ea7\u0ec8\u0ead\u0e87\u0ec4\u0ea7 \u0ec0\u0eae\u0eb1\u0e94\u0ec3\u0eab\u0ec9\u0edd\u0eb1\u0ec9\u0e99\u0ec3\u0e88\u0ec4\u0e94\u0ec9\u0ea7\u0ec8\u0eb2 streaming \u0e9c\u0ec8\u0eb2\u0e99 proxies \u0ec1\u0ea5\u0eb0 firewalls \u0e97\u0eb1\u0e87 upstream \u0ec1\u0ea5\u0eb0 downstream \u0ec3\u0e99\u0ec0\u0ea7\u0ea5\u0eb2\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e99<\/p>\n\n<p>Huk-Com Cloud \u0e88\u0eb1\u0e94\u0e81\u0ebd\u0ea1 WebSockets \u0e82\u0eb1\u0ec9\u0e99\u0eaa\u0eb9\u0e87 \u0ec1\u0ea5\u0eb0 \u0ec0\u0eaa\u0eb5\u0ea1\u0e94\u0ec9\u0ea7\u0e8d\u0e81\u0eb2\u0e99\u0e9b\u0eb0\u0eaa\u0eb2\u0e99\u0ea5\u0ea7\u0ea1\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0e99\u0eb5\u0ec9\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0e81\u0eb1\u0e9a Shared Load Balancer and NGINX-balancer \u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb6\u0ec8\u0e87\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e99\u0ecd\u0eb2\u0ec3\u0e8a\u0ec9\u0ec4\u0e94\u0ec9\u0ec0\u0e96\u0eb4\u0e87\u0e88\u0eb0\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5 IP address \u0e9e\u0eb2\u0e8d\u0e99\u0ead\u0e81\u0ec1\u0e99\u0e9a\u0e81\u0eb1\u0e9a\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e81\u0eb2\u0e99\u0eae\u0eb1\u0e9a proxy \u0e9e\u0ead\u0e94\u0e95\u0ec8\u0eb2\u0e87\u0ec6\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a WebSockets \u0ec3\u0e8a\u0ec9\u0ec4\u0e9b\u0e8d\u0eb1\u0e87\u0e9e\u0ead\u0e94\u0e94\u0ebd\u0ea7 &#8211; 80 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTP \u0ec1\u0ea5\u0eb0 443 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTPS<\/p>\n\n<p>\u0ea7\u0eb4\u0e97\u0eb5\u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9 WebSockets \u0e97\u0eb5\u0ec8\u0e87\u0ec8\u0eb2\u0e8d\u0e97\u0eb5\u0ec8\u0eaa\u0eb8\u0e94\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e84\u0eb7\u0ea7\u0eb2\u0e87<strong>NGINX balancer<\/strong> \u0ec4\u0ea7\u0ec9\u0e94\u0ec9\u0eb2\u0e99\u0edc\u0ec9\u0eb2-\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ea5\u0eb2\u0e8d\u0ea5\u0eb0\u0ead\u0ebd\u0e94\u0ec4\u0e94\u0ec9<a href=\"https:\/\/docs.ruk-com.cloud\/websockets-support\">\u0e97\u0eb5\u0ec8\u0e99\u0eb5\u0ec9<\/a>\u0ec1\u0e99\u0ea7\u0ec3\u0e94\u0e81\u0ecd\u0e95\u0eb2\u0ea1\u0ea7\u0eb4\u0e97\u0eb5\u0e81\u0eb2\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e81\u0ec8\u0eb2\u0ea7\u0ead\u0eb2\u0e94\u0e88\u0eb0\u0e9a\u0ecd\u0ec8\u0eaa\u0ead\u0e94\u0e84\u0ec8\u0ead\u0e87\u0e81\u0eb1\u0e9a\u0e84\u0ea7\u0eb2\u0ea1\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec3\u0e99\u0e82\u0eb0\u0e99\u0eb0\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e8d\u0eb1\u0e87\u0e84\u0ebb\u0e87\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0e99\u0eb5\u0ec9\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0e99\u0ecd\u0eb2\u0ec4\u0e9b\u0e9b\u0eb0\u0e95\u0eb4\u0e9a\u0eb1\u0e94 \u0ec3\u0e99\u0e81\u0ecd\u0ea5\u0eb0\u0e99\u0eb5\u0e99\u0eb5\u0ec9\u0ec0\u0eae\u0ebb\u0eb2\u0eae\u0ead\u0e87\u0eae\u0eb1\u0e9a WebSockets \u0ea2\u0ec8\u0eb2\u0e87\u0ec0\u0e95\u0eb1\u0ea1\u0eae\u0eb9\u0e9a\u0ec1\u0e9a\u0e9a\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0ea2\u0eb9\u0ec8 \u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0ea5\u0ea7\u0ea1\u0ec0\u0e96\u0eb4\u0e87 <strong>Apache<\/strong> (\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e81\u0eb2\u0e99\u0ec1\u0ead\u0eb1\u0e9a PHP, Ruby \u0ec1\u0ea5\u0eb0 Python) \u0ec1\u0ea5\u0eb0 <strong>NGINX<\/strong> (\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0ec1\u0ead\u0eb1\u0e9a PHP \u0ec1\u0ea5\u0eb0 Ruby)<\/p>\n\n<p>\u0e82\u0eb0\u0e9a\u0ea7\u0e99\u0e81\u0eb2\u0e99\u0ea5\u0ea7\u0ea1 WebSockets \u0ead\u0eb2\u0e94\u0ec1\u0e95\u0e81\u0e95\u0ec8\u0eb2\u0e87\u0e81\u0eb1\u0e99\u0ec4\u0e9b\u0ec3\u0e99\u0ec1\u0e95\u0ec8\u0ea5\u0eb0\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 \u0ec1\u0e95\u0ec8\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2\u0e9d\u0eb1\u0ec8\u0e87\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 Jelastic \u0ec4\u0e94\u0ec9\u0e88\u0eb1\u0e94\u0e81\u0ebd\u0ea1\u0e95\u0ebb\u0ea7\u0ea2\u0ec8\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a\u0ec1\u0e95\u0ec8\u0ea5\u0eb0\u0ec2\u0edc\u0e94\u0e97\u0eb5\u0ec8\u0e81\u0ec8\u0eb2\u0ea7\u0ec0\u0e96\u0eb4\u0e87\u0ec0\u0e9a\u0eb7\u0ec9\u0ead\u0e87\u0e95\u0ebb\u0ec9\u0e99 \u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0edc\u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94 uncomment \u0ec1\u0ea5\u0eb0 \u0ec1\u0e81\u0ec9\u0ec4\u0e82\u0ec0\u0ea5\u0eb1\u0e81\u0edc\u0ec9\u0ead\u0e8d\u0e95\u0eb2\u0ea1\u0e82\u0ecd\u0ec9\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e82\u0ead\u0e87\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 (\u0ec0\u0e8a\u0eb1\u0ec8\u0e99\u0edd\u0eb2\u0e8d\u0ec0\u0ea5\u0e81 listening port)<\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"&#xE01;&#xE32;&#xE23;&#xE2A;&#xE23;-&#xE32;&#xE07;-environment-&#xE41;&#xE25;&#xE30;&#xE01;&#xE32;&#xE23;-deploy-application\">\u0e81\u0eb2\u0e99\u0eaa\u0ec9\u0eb2\u0e87 Environment \u0ec1\u0ea5\u0eb0\u0e81\u0eb2\u0e99 Deploy Application<\/h4>\n\n<p>1. \u0e84\u0ea5\u0eb4\u0e81\u0e9b\u0eb8\u0ec8\u0ea1 <strong>New Environment<\/strong> \u0e94\u0ec9\u0eb2\u0e99\u0ec0\u0e97\u0eb4\u0e87\u0e8a\u0ec9\u0eb2\u0e8d\u0e82\u0ead\u0e87\u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94 <\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1.jpg\" alt=\"\" class=\"wp-image-23089\" width=\"533\" height=\"60\" srcset=\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1.jpg 533w, https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1-300x34.jpg 300w, https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1-24x3.jpg 24w, https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1-36x4.jpg 36w, https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1-48x5.jpg 48w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>  2. \u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0edc\u0ec9\u0eb2\u0e95\u0ec8\u0eb2\u0e87 Environment Wizard \u0e97\u0eb5\u0ec8\u0e9b\u0eb0\u0e81\u0ebb\u0e94\u0e82\u0eb6\u0ec9\u0e99\u0ec3\u0eab\u0ec9\u0eaa\u0eb0\u0ea5\u0eb1\u0e9a\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec1\u0e97\u0eb1\u0e9a\u0e9e\u0eb2\u0eaa\u0eb2 \u0ec1\u0ea5\u0eb0 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e81\u0eb2\u0e99 (\u0e8d\u0ebb\u0e81\u0e95\u0ebb\u0ea7\u0ea2\u0ec8\u0eb2\u0e87\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 Apache PHP) \u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0ec0\u0ea5\u0eb7\u0ec8\u0ead\u0e99 cloudlets \u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e88\u0ecd\u0eb2\u0e99\u0ea7\u0e99\u0e8a\u0eb1\u0e9a\u0e9e\u0eb0\u0e8d\u0eb2\u0e81\u0ead\u0e99 \u0e95\u0eb1\u0ec9\u0e87\u0e8a\u0eb7\u0ec8 environment \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec1\u0ea5\u0ec9\u0ea7\u0e84\u0ea5\u0eb4\u0e81 <strong>Create<\/strong><\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/02-environment-wizard.png\" alt=\"environment wizard\"\/><\/figure>\n<p><\/p>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>3. \u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0e99\u0eb2\u0e97\u0eb5 environment \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0e9b\u0eb0\u0e81\u0ebb\u0e94\u0ec3\u0e99\u0edc\u0ec9\u0eb2\u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/03-environment-for-websockets-created.png\" alt=\"environment for WebSockets created\"\/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>4.\u0ead\u0eb1\u0e9a\u0ec2\u0eab\u0ebc\u0e94 \u0ec1\u0ea5\u0eb0 deploy \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0e97\u0eb5\u0ec8 Deployment Manager \u0eab\u0ebc\u0eb7\u0e9c\u0ec8\u0eb2\u0e99\u0e9a\u0ec8\u0ead\u0e99\u0ec0\u0e81\u0eb1\u0e9a\u0ea1\u0ec9\u0ebd\u0edc\u0ec4\u0ea5\u0e8d\u0eb0\u0ec4\u0e81 GIT\/SVN (\u0e97\u0ec8\u0eb2\u0e99\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0e84\u0ecd\u0eb2\u0ec1\u0e99\u0eb0\u0e99\u0ecd\u0eb2\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec0\u0e95\u0eb5\u0ea1\u0ec4\u0e94\u0ec9\u0e97\u0eb5\u0ec8<a href=\"https:\/\/docs.ruk-com.cloud\/deployment-manager\">\u0e84\u0eb9\u0ec8\u0ea1\u0eb5 deployment<\/a>) <\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/04-websockets-application-deployed.png\" alt=\"WebSockets application deployed\"\/><\/figure><\/div>\n\n<p>\u0ec2\u0e9b\u0ea3\u0ec0\u0e88\u0eb1\u0e81\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99 deploy \u0ec1\u0ea5\u0ec9\u0ea7\u0e88\u0eb0\u0eaa\u0eb0\u0ec1\u0e94\u0e87\u0ea5\u0eb2\u0e8d\u0e81\u0eb2\u0e99\u0ec3\u0e99\u0eaa\u0ec8\u0ea7\u0e99\u0e94\u0ec9\u0eb2\u0e99\u0ea5\u0eb8\u0ec8\u0ea1\u0e82\u0ead\u0e87\u0ec1\u0e9c\u0e87\u0e84\u0ea7\u0e9a\u0e84\u0eb8\u0ea1 environment <\/p>\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<h4 class=\"wp-block-heading\" id=\"&#xE01;&#xE32;&#xE23;&#xE01;&#xE33;&#xE2B;&#xE19;&#xE14;&#xE04;-&#xE32;&#xE40;&#xE0B;-&#xE23;-&#xE1F;&#xE40;&#xE27;&#xE2D;&#xE23;-&#xE41;&#xE25;&#xE30;&#xE41;&#xE2D;&#xE1B;&#xE1E;&#xE25;-&#xE40;&#xE04;&#xE0A;-&#xE19;\">\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0ec1\u0ea5\u0eb0 \u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99<\/h4>\n\n<p>WebSockets \u0e9e\u0eb2\u0e8d\u0ec3\u0e99 Apache server \u0eae\u0ead\u0e87\u0eae\u0eb1\u0e9a\u0ec2\u0ea1\u0e94\u0eb9\u0e99 <strong><em>proxy_wstunnel_module <\/em><\/strong>\u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e96\u0eb7\u0e81\u0ec0\u0e9e\u0eb5\u0ec8\u0ea1\u0ec2\u0e94\u0e8d\u0e84\u0ec8\u0eb2\u0ec0\u0ea5\u0eb5\u0ec8\u0ea1\u0e95\u0ebb\u0ec9\u0e99\u0ec0\u0ea1\u0eb7\u0ec8\u0ead\u0eaa\u0ec9\u0eb2\u0e87\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a NGINX server \u0e99\u0eb1\u0ec9\u0e99\u0e88\u0eb0\u0ec3\u0e8a\u0ec9\u0e84\u0ea7\u0eb2\u0ea1\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e82\u0ead\u0e87\u0e81\u0eb2\u0e99\u0e9d\u0eb1\u0e87 proxy \u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 WebSockets \u0e84\u0ec9\u0eb2\u0e8d\u0e84\u0eb7\u0e81\u0eb1\u0e9a\u0ea7\u0eb4\u0e97\u0eb5 NGINX-balancer \u0ec0\u0eae\u0eb1\u0e94\u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb1\u0ec9\u0e99\u0ea1\u0eb2\u0ec0\u0ea5\u0eb5\u0ec8\u0ea1\u0e95\u0ebb\u0ec9\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0eb2\u0ea1\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e99\u0eb5\u0ec9<\/p>\n\n<p>1. \u0e84\u0ea5\u0eb4\u0e81\u0e9b\u0eb8\u0ec8\u0ea1 <strong>Config<\/strong> \u0e96\u0eb1\u0e94\u0e88\u0eb2\u0e81\u0ec2\u0edc\u0e94\u0ec1\u0ead\u0eb1\u0e9a\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/05-apache-config.png\" alt=\"Apache config\"\/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>2. \u0ec3\u0e99\u0ec1\u0e97\u0eb1\u0e9a <strong>Configuration Manager<\/strong> \u0ec0\u0eae\u0eb1\u0e94\u0e95\u0eb2\u0ea1\u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ead\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e99\u0eb5\u0ec9:<\/p>\n\n<ul class=\"wp-block-list\"><li>\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a <strong>Apache app server<\/strong><\/li><\/ul>\n<p>\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec4\u0e94\u0ec0\u0ea3\u0eb1\u0e81\u0e97\u0ecd\u0ea3\u0eb5 <strong>conf <\/strong>\u0ec1\u0ea5\u0ec9\u0ea7\u0eab\u0eb2\u0ec4\u0e9f\u0ea5 <em><strong>httpd.conf<\/strong><\/em>\u0e8d\u0ebb\u0e81\u0ec0\u0ea5\u0eb5\u0e81\u0e84\u0ead\u0ea1\u0ec0\u0ea1\u0eb1\u0ec9\u0e99\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e94\u0ec9\u0eb2\u0e99\u0ea5\u0eb8\u0ec8\u0ea1\u0e99\u0eb5\u0ec9 (\u0e9b\u0eb0\u0ea1\u0eb2\u0e99\u0ea7\u0eb1\u0e81\u0e97\u0eb5 962)<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>&lt;Location \/ws&gt;  \n   ProxyPass ws:\/\/127.0.0.1:&lt;PORT&gt;  \n   ProxyPassReverse ws:\/\/127.0.0.1:&lt;PORT&gt;  \n&lt;\/Location&gt;<\/code><\/pre><\/div>\n\n<p>\u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0e9b\u0ec8\u0ebd\u0e99\u0e9e\u0eb2\u0ea3\u0eb2\u0ea1\u0eb4\u0ec0\u0e95\u0eb5\u0e97\u0eb1\u0e87\u0eaa\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0edd\u0eb2\u0e8d\u0ec0\u0ea5\u0e81\u0e9e\u0ead\u0e94\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99 WebSockets \u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99 listen (\u0ec0\u0e8a\u0eb1\u0ec8\u0e99 9000)<\/p>\n\n<p>\u0e81\u0ea7\u0e94\u0eaa\u0ead\u0e9a\u0ec3\u0eab\u0ec9\u0ec1\u0e99\u0ec3\u0e88\u0ea7\u0ec8\u0eb2\u0e97\u0ec8\u0eb2\u0e99\u0ec4\u0e94\u0ec9\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0e94\u0eb1\u0ec8\u0e87\u0eae\u0eb9\u0e9a\u0e99\u0eb5\u0ec9<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/06-apache-httpd-conf.png\" alt=\"Apache httpd conf\"\/><\/figure><\/div>\n\n<p>\u0e81\u0ebb\u0e94\u0e9b\u0eb8\u0ec8\u0ea1 <strong>Save<\/strong> \u0e94\u0ec9\u0eb2\u0e99\u0ec0\u0e97\u0eb4\u0e87\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0e9a\u0eb1\u0e99\u0e97\u0eb6\u0e81<\/p>\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<ul class=\"wp-block-list\"><li>\u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a NGINX app server<\/li><\/ul>\n<p>\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec4\u0e94\u0ec0\u0ea3\u0eb1\u0e81\u0e97\u0ecd\u0ea3\u0eb5 <strong>conf<\/strong> \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec4\u0e9f\u0ea5 <strong><em>nginx.conf<\/em><\/strong> \u0ec1\u0ea5\u0ec9\u0ea7\u0e84\u0ebb\u0ec9\u0e99\u0eab\u0eb2 <em>#Websocket <\/em>\u0ec1\u0ea5\u0eb0\u0e8d\u0ebb\u0e81\u0ec0\u0ea5\u0eb5\u0e81\u0e84\u0ead\u0ea1\u0ec0\u0ea1\u0eb1\u0ec9\u0e99\u0e84\u0ecd\u0eb2\u0eaa\u0eb1\u0ec8\u0e87\u0e95\u0ecd\u0ec8\u0ec4\u0e9b\u0e99\u0eb5\u0ec9:<\/p>\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>upstream websocket {  \n    server 127.0.0.1:&lt;PORT&gt;;  \n }  \n\u2026  \nlocation \/ws {  \n        proxy_pass http:\/\/websocket;  \n        proxy_http_version 1.1;  \n        proxy_set_header Upgrade $http_upgrade;  \n        proxy_set_header Connection \"Upgrade\";  \n    }<\/code><\/pre><\/div>\n\n<p>\u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0ec1\u0e97\u0e99\u0e97\u0eb5\u0ec8\u0e84\u0ec8\u0eb2 <em><strong>&lt;PORT&gt;<\/strong><\/em> \u0e94\u0ec9\u0ea7\u0e8d\u0edd\u0eb2\u0e8d\u0ec0\u0ea5\u0e81\u0e9e\u0ead\u0e94\u0e97\u0eb5\u0ec8\u0e81\u0ec8\u0ebd\u0ea7\u0e82\u0ec9\u0ead\u0e87 \u0ec1\u0ea5\u0eb0 \u0e81\u0ebb\u0e94\u0e9b\u0eb8\u0ec8\u0ea1<strong>Save<\/strong><\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/07-nginx-websockerts-configs.png\" alt=\"NGINX WebSockerts configs\"\/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>3. \u0e97\u0eb1\u0e87\u0edd\u0ebb\u0e94\u0e99\u0eb5\u0ec9\u0e84\u0eb7\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99\u0e95\u0ec9\u0ead\u0e87\u0eaa\u0ec9\u0eb2\u0e87 \u0e88\u0eb2\u0e81\u0e99\u0eb1\u0ec9\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0e97\u0ec8\u0eb2\u0e99 deploy \u0ec2\u0e94\u0e8d\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec4\u0e9f\u0ea5\u0e81\u0eb2\u0e99\u0e81\u0ecd\u0eb2\u0e99\u0ebb\u0e94\u0e84\u0ec8\u0eb2\u0e82\u0ead\u0e87\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e97\u0ec8\u0eb2\u0e99\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0e95\u0eb1\u0ec9\u0e87\u0e84\u0ec8\u0eb2 WebSockets\u0ec1\u0ea5\u0eb0\u0e9b\u0eb1\u0e9a ws path \u0e97\u0eb5\u0ec8\u0ea1\u0eb5\u0ea2\u0eb9\u0ec8\u0ec3\u0e99\u0ec4\u0e9f\u0ea5\u0e95\u0eb2\u0ea1\u0eae\u0eb9\u0e9a\u0ec1\u0e9a\u0e9a\u0e96\u0eb1\u0e94\u0ec4\u0e9b:<\/p>\n\n<p><em><strong>ws:\/\/{env_domain}{path_to_ws_file}<\/strong><\/em><\/p>\n\n<p>\u0ec2\u0e94\u0e8d\u0e97\u0eb5\u0ec8<\/p>\n\n<ul class=\"wp-block-list\"><li><em><strong>{env_url}<\/strong><\/em> \u0ec1\u0e97\u0e99\u0e97\u0eb5\u0ec8\u0e94\u0ec9\u0ea7\u0e8d\u0ec2\u0e94\u0ec0\u0ea1\u0e99\u0e82\u0ead\u0e87 environment \u0e97\u0ec8\u0eb2\u0e99 (\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0ec0\u0e9a\u0eb4\u0ec8\u0e87\u0ec4\u0e94\u0ec9\u0e97\u0eb5\u0ec8\u0ec3\u0e95\u0ec9\u0e8a\u0eb7\u0ec8 environment \u0e97\u0eb5\u0ec8\u0ec1\u0e94\u0e8a\u0e9a\u0ead\u0e94)<\/li><li><em><strong>{path_to_ws_file}<\/strong><\/em> \u0e88\u0ecd\u0eb2\u0ec0\u0e9b\u0eb1\u0e99\u0e95\u0ec9\u0ead\u0e87\u0e9b\u0ec8\u0ebd\u0e99\u0ec0\u0eaa\u0eb1\u0ec9\u0e99\u0e97\u0eb2\u0e87\u0ec4\u0e9b\u0e97\u0eb5\u0ec8\u0ec4\u0e9f\u0ea5\u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e84\u0ea7\u0e99\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0ec0\u0e96\u0eb4\u0e87\u0ec4\u0e94\u0ec9\u0ec0\u0ea1\u0eb7\u0ec8\u0ead\u0eaa\u0ec9\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 WebSockets<br\/><br\/><\/li><\/ul>\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/08-application-websockets-path.png\" alt=\"application WebSockets path\"\/><\/figure>\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>4. <strong>Save<\/strong> \u0ec1\u0ea5\u0eb0 <strong>Restart<\/strong>\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/09-apache-restart.png\" alt=\"Apache restart\"\/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>5. \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81 Restart \u0eaa\u0ecd\u0eb2\u0ec0\u0ea5\u0eb1\u0e94\u0ec1\u0ea5\u0ec9\u0ea7\u0e84\u0ea5\u0eb4\u0e81\u0e9b\u0eb8\u0ec8\u0ea1<strong>Open in Browser<\/strong>\u0ec0\u0e9e\u0eb7\u0ec8\u0ead\u0eae\u0ebd\u0e81\u0ec3\u0e8a\u0ec9\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec3\u0e99\u0ec1\u0e97\u0eb1\u0e9a\u0e9a\u0ea3\u0eb2\u0ea7\u0ec0\u0e8a\u0eb5\u0ec3\u0edd\u0ec8<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/10-open-in-browser.png\" alt=\"open in browser\"\/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>6. \u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0ec0\u0eab\u0eb1\u0e99\u0ea7\u0ec8\u0eb2\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e99\u0ecd\u0eb2\u0ec3\u0e8a\u0ec9\u0ec4\u0e94\u0ec9\u0ec1\u0ea5\u0ec9\u0ea7<\/p>\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/docs.jelastic.com\/websockets-apache-nginx\/11-websockerts-chat-application.png\" alt=\"WebSockerts chat application\"\/><\/figure><\/div>\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n<p>\u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb0\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e9b\u0eb0\u0ec2\u0eab\u0e8d\u0e94\u0e88\u0eb2\u0e81\u0e81\u0eb2\u0e99\u0e96\u0ec8\u0eb2\u0e8d\u0ec2\u0ead\u0e99\u0e82\u0ecd\u0ec9\u0e84\u0ea7\u0eb2\u0ea1\u0e97\u0eb5\u0ec8\u0ea7\u0ec8\u0ead\u0e87\u0ec4\u0ea7\u0ea2\u0ec8\u0eb2\u0e87\u0ec0\u0eab\u0eb1\u0e99\u0ec4\u0e94\u0ec9\u0e8a\u0eb1\u0e94\u0e88\u0eb2\u0e81\u0e81\u0eb2\u0e99\u0e99\u0ecd\u0eb2\u0ec3\u0e8a\u0ec9 WebSockets Protocol<\/p>\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>WebSockets \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99-\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e97\u0eb5\u0ec8\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e88\u0eb0\u0e8a\u0ec8\u0ea7\u0e8d\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0ec1\u0ea5\u0e81\u0e9b\u0ec8\u0ebd\u0e99\u0e82\u0ecd\u0ec9\u0e84\u0ea7\u0eb2\u0ea1 \u0ec1\u0ea5\u0eb0 \u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0ec1\u0e9a\u0e9a\u0e97\u0eb1\u0e99\u0e97\u0eb5\u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0eaa\u0ec9\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 TCP \u0ec1\u0e9a\u0e9a full-duplex \u0ea2\u0ec8\u0eb2\u0e87\u0e95\u0ecd\u0ec8\u0ec0\u0e99\u0eb7\u0ec8\u0ead\u0e87\u0ea5\u0eb0\u0eab\u0ea7\u0ec8\u0eb2\u0e87\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0ec1\u0ea5\u0eb0 \u0e9a\u0ea3\u0eb2\u0ea7\u0ec0\u0e8a\u0eb5\u0e82\u0ead\u0e87\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99 \u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9\u0e82\u0ec8\u0ead\u0e87\u0e97\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0eaa\u0eb7\u0ec8\u0eaa\u0eb2\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e81\u0ec8\u0eb2\u0ea7\u0eaa\u0ebb\u0ec8\u0e87\u0e9c\u0ebb\u0e99\u0ec3\u0eab\u0ec9 latency \u0e95\u0ecd\u0ec8\u0eb2\u0eab\u0ebc\u0eb2\u0e8d \u0ec1\u0ea5\u0eb0 \u0ec0\u0e81\u0eb5\u0e94\u0e81\u0eb2\u0e99\u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0e97\u0eb5\u0ec8\u0ea7\u0ec8\u0ead\u0e87\u0ec4\u0ea7 \u0ec0\u0eae\u0eb1\u0e94\u0ec3\u0eab\u0ec9\u0edd\u0eb1\u0ec9\u0e99\u0ec3\u0e88\u0ec4\u0e94\u0ec9\u0ea7\u0ec8\u0eb2 streaming \u0e9c\u0ec8\u0eb2\u0e99 proxies \u0ec1\u0ea5\u0eb0 firewalls \u0e97\u0eb1\u0e87 upstream \u0ec1\u0ea5\u0eb0 downstream \u0ec3\u0e99\u0ec0\u0ea7\u0ea5\u0eb2\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e99 Huk-Com Cloud \u0e88\u0eb1\u0e94\u0e81\u0ebd\u0ea1 WebSockets \u0e82\u0eb1\u0ec9\u0e99\u0eaa\u0eb9\u0e87 \u0ec1\u0ea5\u0eb0 \u0ec0\u0eaa\u0eb5\u0ea1\u0e94\u0ec9\u0ea7\u0e8d\u0e81\u0eb2\u0e99\u0e9b\u0eb0\u0eaa\u0eb2\u0e99\u0ea5\u0ea7\u0ea1\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0e99\u0eb5\u0ec9\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0e81\u0eb1\u0e9a Shared Load Balancer and NGINX-balancer \u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb6\u0ec8\u0e87\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e99\u0ecd\u0eb2\u0ec3\u0e8a\u0ec9\u0ec4\u0e94\u0ec9\u0ec0\u0e96\u0eb4\u0e87\u0e88\u0eb0\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5 IP address \u0e9e\u0eb2\u0e8d\u0e99\u0ead\u0e81\u0ec1\u0e99\u0e9a\u0e81\u0eb1\u0e9a\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e81\u0eb2\u0e99\u0eae\u0eb1\u0e9a proxy \u0e9e\u0ead\u0e94\u0e95\u0ec8\u0eb2\u0e87\u0ec6\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a WebSockets \u0ec3\u0e8a\u0ec9\u0ec4\u0e9b\u0e8d\u0eb1\u0e87\u0e9e\u0ead\u0e94\u0e94\u0ebd\u0ea7 &#8211; 80 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTP \u0ec1\u0ea5\u0eb0 443 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTPS [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[414],"tags":[],"class_list":["post-29857","post","type-post","status-publish","format-standard","hentry","category-development-tools-lo-la"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Websockets Support for Apache &amp; NGINX - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\" \/>\n<meta property=\"og:locale\" content=\"lo_LA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Websockets Support for Apache &amp; NGINX - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\" \/>\n<meta property=\"og:description\" content=\"WebSockets \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99-\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e97\u0eb5\u0ec8\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e88\u0eb0\u0e8a\u0ec8\u0ea7\u0e8d\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0ec1\u0ea5\u0e81\u0e9b\u0ec8\u0ebd\u0e99\u0e82\u0ecd\u0ec9\u0e84\u0ea7\u0eb2\u0ea1 \u0ec1\u0ea5\u0eb0 \u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0ec1\u0e9a\u0e9a\u0e97\u0eb1\u0e99\u0e97\u0eb5\u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0eaa\u0ec9\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 TCP \u0ec1\u0e9a\u0e9a full-duplex \u0ea2\u0ec8\u0eb2\u0e87\u0e95\u0ecd\u0ec8\u0ec0\u0e99\u0eb7\u0ec8\u0ead\u0e87\u0ea5\u0eb0\u0eab\u0ea7\u0ec8\u0eb2\u0e87\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0ec1\u0ea5\u0eb0 \u0e9a\u0ea3\u0eb2\u0ea7\u0ec0\u0e8a\u0eb5\u0e82\u0ead\u0e87\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99 \u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9\u0e82\u0ec8\u0ead\u0e87\u0e97\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0eaa\u0eb7\u0ec8\u0eaa\u0eb2\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e81\u0ec8\u0eb2\u0ea7\u0eaa\u0ebb\u0ec8\u0e87\u0e9c\u0ebb\u0e99\u0ec3\u0eab\u0ec9 latency \u0e95\u0ecd\u0ec8\u0eb2\u0eab\u0ebc\u0eb2\u0e8d \u0ec1\u0ea5\u0eb0 \u0ec0\u0e81\u0eb5\u0e94\u0e81\u0eb2\u0e99\u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0e97\u0eb5\u0ec8\u0ea7\u0ec8\u0ead\u0e87\u0ec4\u0ea7 \u0ec0\u0eae\u0eb1\u0e94\u0ec3\u0eab\u0ec9\u0edd\u0eb1\u0ec9\u0e99\u0ec3\u0e88\u0ec4\u0e94\u0ec9\u0ea7\u0ec8\u0eb2 streaming \u0e9c\u0ec8\u0eb2\u0e99 proxies \u0ec1\u0ea5\u0eb0 firewalls \u0e97\u0eb1\u0e87 upstream \u0ec1\u0ea5\u0eb0 downstream \u0ec3\u0e99\u0ec0\u0ea7\u0ea5\u0eb2\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e99 Huk-Com Cloud \u0e88\u0eb1\u0e94\u0e81\u0ebd\u0ea1 WebSockets \u0e82\u0eb1\u0ec9\u0e99\u0eaa\u0eb9\u0e87 \u0ec1\u0ea5\u0eb0 \u0ec0\u0eaa\u0eb5\u0ea1\u0e94\u0ec9\u0ea7\u0e8d\u0e81\u0eb2\u0e99\u0e9b\u0eb0\u0eaa\u0eb2\u0e99\u0ea5\u0ea7\u0ea1\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0e99\u0eb5\u0ec9\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0e81\u0eb1\u0e9a Shared Load Balancer and NGINX-balancer \u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb6\u0ec8\u0e87\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e99\u0ecd\u0eb2\u0ec3\u0e8a\u0ec9\u0ec4\u0e94\u0ec9\u0ec0\u0e96\u0eb4\u0e87\u0e88\u0eb0\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5 IP address \u0e9e\u0eb2\u0e8d\u0e99\u0ead\u0e81\u0ec1\u0e99\u0e9a\u0e81\u0eb1\u0e9a\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e81\u0eb2\u0e99\u0eae\u0eb1\u0e9a proxy \u0e9e\u0ead\u0e94\u0e95\u0ec8\u0eb2\u0e87\u0ec6\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a WebSockets \u0ec3\u0e8a\u0ec9\u0ec4\u0e9b\u0e8d\u0eb1\u0e87\u0e9e\u0ead\u0e94\u0e94\u0ebd\u0ea7 &#8211; 80 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTP \u0ec1\u0ea5\u0eb0 443 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTPS [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\" \/>\n<meta property=\"og:site_name\" content=\"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-21T10:49:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-31T15:41:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1.jpg\" \/>\n<meta name=\"author\" content=\"Admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#article\",\"isPartOf\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\"},\"author\":{\"name\":\"Admin\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7\"},\"headline\":\"Websockets Support for Apache &amp; NGINX\",\"datePublished\":\"2022-02-21T10:49:07+00:00\",\"dateModified\":\"2023-01-31T15:41:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\"},\"wordCount\":131,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#organization\"},\"articleSection\":[\"Development Tools\"],\"inLanguage\":\"lo-LA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\",\"url\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\",\"name\":\"Websockets Support for Apache &amp; NGINX - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\",\"isPartOf\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#website\"},\"datePublished\":\"2022-02-21T10:49:07+00:00\",\"dateModified\":\"2023-01-31T15:41:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#breadcrumb\"},\"inLanguage\":\"lo-LA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.ruk-com.cloud\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Websockets Support for Apache &amp; NGINX\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#website\",\"url\":\"https:\/\/docs.ruk-com.cloud\/\",\"name\":\"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)\",\"description\":\"\u0e41\u0e1e\u0e25\u0e15\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33 Cluster, HA, Load Balancer, Auto Scale \u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e4a\u0e01\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e07\u0e48\u0e32\u0e22 \u0e04\u0e34\u0e14\u0e04\u0e48\u0e32\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e15\u0e32\u0e21\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07\",\"publisher\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.ruk-com.cloud\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"lo-LA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#organization\",\"name\":\"Ruk-Com Co.,Ltd\",\"url\":\"https:\/\/docs.ruk-com.cloud\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo-LA\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png\",\"contentUrl\":\"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png\",\"width\":450,\"height\":400,\"caption\":\"Ruk-Com Co.,Ltd\"},\"image\":{\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7\",\"name\":\"Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo-LA\",\"@id\":\"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g\",\"caption\":\"Admin\"},\"url\":\"https:\/\/docs.ruk-com.cloud\/lo-la\/author\/bamtnpm\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Websockets Support for Apache &amp; NGINX - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx","og_locale":"lo_LA","og_type":"article","og_title":"Websockets Support for Apache &amp; NGINX - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","og_description":"WebSockets \u0ec0\u0e9b\u0eb1\u0e99\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99-\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0e97\u0eb5\u0ec8\u0ec1\u0e9e\u0ec8\u0eab\u0ebc\u0eb2\u0e8d\u0ec0\u0e8a\u0eb4\u0ec8\u0e87\u0e88\u0eb0\u0e8a\u0ec8\u0ea7\u0e8d\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0ec1\u0ea5\u0e81\u0e9b\u0ec8\u0ebd\u0e99\u0e82\u0ecd\u0ec9\u0e84\u0ea7\u0eb2\u0ea1 \u0ec1\u0ea5\u0eb0 \u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0ec1\u0e9a\u0e9a\u0e97\u0eb1\u0e99\u0e97\u0eb5\u0e9e\u0eb2\u0e8d\u0ec3\u0e99\u0ec1\u0ead\u0eb1\u0e9a\u0e9e\u0ea5\u0eb4\u0ec0\u0e84\u0e8a\u0eb1\u0e99\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0eaa\u0ec9\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0ec0\u0e8a\u0eb7\u0ec8\u0ead\u0ea1\u0e95\u0ecd\u0ec8 TCP \u0ec1\u0e9a\u0e9a full-duplex \u0ea2\u0ec8\u0eb2\u0e87\u0e95\u0ecd\u0ec8\u0ec0\u0e99\u0eb7\u0ec8\u0ead\u0e87\u0ea5\u0eb0\u0eab\u0ea7\u0ec8\u0eb2\u0e87\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5 \u0ec1\u0ea5\u0eb0 \u0e9a\u0ea3\u0eb2\u0ea7\u0ec0\u0e8a\u0eb5\u0e82\u0ead\u0e87\u0ec4\u0e84\u0ea5\u0ec0\u0ead\u0eb4\u0e99 \u0e81\u0eb2\u0e99\u0ec3\u0e8a\u0ec9\u0e82\u0ec8\u0ead\u0e87\u0e97\u0eb2\u0e87\u0e81\u0eb2\u0e99\u0eaa\u0eb7\u0ec8\u0eaa\u0eb2\u0e99\u0e94\u0eb1\u0ec8\u0e87\u0e81\u0ec8\u0eb2\u0ea7\u0eaa\u0ebb\u0ec8\u0e87\u0e9c\u0ebb\u0e99\u0ec3\u0eab\u0ec9 latency \u0e95\u0ecd\u0ec8\u0eb2\u0eab\u0ebc\u0eb2\u0e8d \u0ec1\u0ea5\u0eb0 \u0ec0\u0e81\u0eb5\u0e94\u0e81\u0eb2\u0e99\u0ec2\u0e95\u0ec9\u0e95\u0ead\u0e9a\u0e97\u0eb5\u0ec8\u0ea7\u0ec8\u0ead\u0e87\u0ec4\u0ea7 \u0ec0\u0eae\u0eb1\u0e94\u0ec3\u0eab\u0ec9\u0edd\u0eb1\u0ec9\u0e99\u0ec3\u0e88\u0ec4\u0e94\u0ec9\u0ea7\u0ec8\u0eb2 streaming \u0e9c\u0ec8\u0eb2\u0e99 proxies \u0ec1\u0ea5\u0eb0 firewalls \u0e97\u0eb1\u0e87 upstream \u0ec1\u0ea5\u0eb0 downstream \u0ec3\u0e99\u0ec0\u0ea7\u0ea5\u0eb2\u0e94\u0ebd\u0ea7\u0e81\u0eb1\u0e99 Huk-Com Cloud \u0e88\u0eb1\u0e94\u0e81\u0ebd\u0ea1 WebSockets \u0e82\u0eb1\u0ec9\u0e99\u0eaa\u0eb9\u0e87 \u0ec1\u0ea5\u0eb0 \u0ec0\u0eaa\u0eb5\u0ea1\u0e94\u0ec9\u0ea7\u0e8d\u0e81\u0eb2\u0e99\u0e9b\u0eb0\u0eaa\u0eb2\u0e99\u0ea5\u0ea7\u0ea1\u0ec0\u0e97\u0eb1\u0e81\u0ec2\u0e99\u0ec2\u0ea5\u0ea2\u0eb5\u0e99\u0eb5\u0ec9\u0ec0\u0e82\u0ebb\u0ec9\u0eb2\u0e81\u0eb1\u0e9a Shared Load Balancer and NGINX-balancer \u0e97\u0ec8\u0eb2\u0e99\u0e88\u0eb6\u0ec8\u0e87\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0e99\u0ecd\u0eb2\u0ec3\u0e8a\u0ec9\u0ec4\u0e94\u0ec9\u0ec0\u0e96\u0eb4\u0e87\u0e88\u0eb0\u0e9a\u0ecd\u0ec8\u0ea1\u0eb5 IP address \u0e9e\u0eb2\u0e8d\u0e99\u0ead\u0e81\u0ec1\u0e99\u0e9a\u0e81\u0eb1\u0e9a\u0ec0\u0e8a\u0eb5\u0e9a\u0ec0\u0ea7\u0eb5\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e81\u0eb2\u0e99\u0eae\u0eb1\u0e9a proxy \u0e9e\u0ead\u0e94\u0e95\u0ec8\u0eb2\u0e87\u0ec6\u0e97\u0eb5\u0ec8\u0ec1\u0ead\u0eb1\u0e9a WebSockets \u0ec3\u0e8a\u0ec9\u0ec4\u0e9b\u0e8d\u0eb1\u0e87\u0e9e\u0ead\u0e94\u0e94\u0ebd\u0ea7 &#8211; 80 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTP \u0ec1\u0ea5\u0eb0 443 \u0eaa\u0ecd\u0eb2\u0ea5\u0eb1\u0e9a HTTPS [&hellip;]","og_url":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx","og_site_name":"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","article_published_time":"2022-02-21T10:49:07+00:00","article_modified_time":"2023-01-31T15:41:09+00:00","og_image":[{"url":"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/10\/environment-1.jpg"}],"author":"Admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#article","isPartOf":{"@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx"},"author":{"name":"Admin","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7"},"headline":"Websockets Support for Apache &amp; NGINX","datePublished":"2022-02-21T10:49:07+00:00","dateModified":"2023-01-31T15:41:09+00:00","mainEntityOfPage":{"@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx"},"wordCount":131,"commentCount":0,"publisher":{"@id":"https:\/\/docs.ruk-com.cloud\/#organization"},"articleSection":["Development Tools"],"inLanguage":"lo-LA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#respond"]}]},{"@type":"WebPage","@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx","url":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx","name":"Websockets Support for Apache &amp; NGINX - \u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","isPartOf":{"@id":"https:\/\/docs.ruk-com.cloud\/#website"},"datePublished":"2022-02-21T10:49:07+00:00","dateModified":"2023-01-31T15:41:09+00:00","breadcrumb":{"@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#breadcrumb"},"inLanguage":"lo-LA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.ruk-com.cloud\/lo-la\/websockets-support-for-apache-nginx#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.ruk-com.cloud\/"},{"@type":"ListItem","position":2,"name":"Websockets Support for Apache &amp; NGINX"}]},{"@type":"WebSite","@id":"https:\/\/docs.ruk-com.cloud\/#website","url":"https:\/\/docs.ruk-com.cloud\/","name":"\u0e04\u0e39\u0e48\u0e21\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Ruk-Com Cloud (PAAS)","description":"\u0e41\u0e1e\u0e25\u0e15\u0e1f\u0e2d\u0e23\u0e4c\u0e21\u0e17\u0e35\u0e48\u0e14\u0e35\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33 Cluster, HA, Load Balancer, Auto Scale \u0e1c\u0e48\u0e32\u0e19\u0e01\u0e32\u0e23\u0e04\u0e25\u0e34\u0e4a\u0e01\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e07\u0e48\u0e32\u0e22 \u0e04\u0e34\u0e14\u0e04\u0e48\u0e32\u0e1a\u0e23\u0e34\u0e01\u0e32\u0e23\u0e15\u0e32\u0e21\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e08\u0e23\u0e34\u0e07","publisher":{"@id":"https:\/\/docs.ruk-com.cloud\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.ruk-com.cloud\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"lo-LA"},{"@type":"Organization","@id":"https:\/\/docs.ruk-com.cloud\/#organization","name":"Ruk-Com Co.,Ltd","url":"https:\/\/docs.ruk-com.cloud\/","logo":{"@type":"ImageObject","inLanguage":"lo-LA","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/","url":"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png","contentUrl":"https:\/\/docs.ruk-com.cloud\/wp-content\/uploads\/2021\/08\/rukcom-logo.png","width":450,"height":400,"caption":"Ruk-Com Co.,Ltd"},"image":{"@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/dfeed2cd1751892c89cc371e50d57fa7","name":"Admin","image":{"@type":"ImageObject","inLanguage":"lo-LA","@id":"https:\/\/docs.ruk-com.cloud\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/141844f933e59325a64653d0c2da01a2efdb4acff5eb61569f144e26998610ff?s=96&d=mm&r=g","caption":"Admin"},"url":"https:\/\/docs.ruk-com.cloud\/lo-la\/author\/bamtnpm"}]}},"_links":{"self":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts\/29857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/comments?post=29857"}],"version-history":[{"count":1,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts\/29857\/revisions"}],"predecessor-version":[{"id":29860,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/posts\/29857\/revisions\/29860"}],"wp:attachment":[{"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/media?parent=29857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/categories?post=29857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docs.ruk-com.cloud\/lo-la\/wp-json\/wp\/v2\/tags?post=29857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}