openresty/html/index.html

166 lines
651 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
<title>Welcome to OpenResty!</title>
<style>
:root {
--main-bg-color: rgb(82, 172, 66);
--secondary-bg-color: rgb(213, 234, 201);
--main-text-color: rgb(74, 124, 67);
--secondary-text-color: #fff;
}
* {padding: 0; margin: 0;}
html,body {font-size: 14px; font-family: Lato, sans-serif}
body {text-align: center; background: var(--secondary-bg-color);}
ul {list-style: none;}
.flex {display: flex; display: -moz-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox;}
.justify-content-center {-webkit-box-pack: center; -ms-justify-content: center; -moz-justify-content: center; -o-justify-content: center; -webkit-justify-content: center; justify-content: center;}
.align-items-center {-webkit-box-align: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; -o-align-items: center; align-items: center;}
.text-decoration-no {text-decoration: none !important;}
ul li, .products-list a {display: inline-block;}
.main-theme {background: var(--main-bg-color); color: var(--secondary-text-color);}
.light-theme {background: var(--secondary-bg-color);}
.white-theme {background: #fff; color: var(--main-text-color);}
.main-theme a {color: #effc67; text-decoration: underline;}
section {max-width: 1200px; margin: 0 auto; padding: 2.14rem; box-sizing: border-box;}
section h1 {font-size: 3rem; margin-bottom: 16px;}
section h2 {font-size: 1.8rem; margin-bottom: 16px;}
section p {line-height: 1.5; font-size: 1.3rem;}
.main {position: relative;}
.products-list {margin-top: 20px;}
.products-list a {background: #fff; color: var(--main-text-color); padding: 10px 15px; border-radius: 4px; margin-left: 40px; min-width: 185px;}
.products-list a:first-child {margin-left: 0;}
.products img {width: 40px; height: 40px;}
.products h3 {font-size: 1.15rem; font-weight: normal; margin: 4px 0;}
.products a p {font-size: 0.92rem;}
.social a {border-radius: 10px; background-color: var(--main-text-color); box-shadow: rgb(0 0 0 / 10%) -2px 2px 2px 1px; color: var(--secondary-text-color); border: none; padding: 6px 0; line-height: 24px; min-width: 250px; text-align: center; font-size: 1.1rem;}
.social a img, .social a svg {width: 16px; height: 16px; vertical-align: middle; margin-right: 5px;}
.social li {margin-left: 40px;}
.social li:first-child {margin-left: 0;}
.blogs {position: relative; margin-bottom: 20px; padding-left: 10px; padding-right: 10px;}
.blogs .title {margin-bottom: 30px; color: var(--main-text-color); font-size: 1.5rem;}
.blogs .swiper-wrapper {margin: 0 0 10px;}
.blogs-slider .swiper-slide {width: 20%; display: inline-block; vertical-align: top; margin-right: 40px; }
.blogs-slider .swiper-slide:last-child {margin-right: 0 !important;}
.blogs-slider .img-wrapper {font-size: 0; border-radius: 4px; margin-bottom: 10px; overflow: hidden; border: 2px solid #fff;}
.blogs-slider img {width: 100%; height: 120px; border-radius: 4px; -webkit-user-select: none; -ms-user-select: none; user-select: none; object-fit: cover;}
.blogs-slider p {font-size: 0.95rem; color: var(--main-text-color);}
@media screen and (min-width: 1200px) {
.blogs .swiper-wrapper {-webkit-box-pack: justify; -ms-justify-content: space-between; -moz-justify-content: space-between; -o-justify-content: space-between; -webkit-justify-content: space-between; -webkit-justify-content: space-between; justify-content: space-between;}
}
@media screen and (max-width: 1200px) {
.blogs {padding-left: 20px; padding-right: 20px;}
.blogs-slider .swiper-slide {margin-right: 20px; margin-bottom: 20px;}
}
@media screen and (max-width: 768px) {
html,body {font-size: 12px}
.social li {margin-left: 0; margin-bottom: 10px;}
.social li:last-child {margin-bottom: 0;}
.products-list a {margin-left: 0; margin-bottom: 10px;}
.products-list a:last-child {margin-bottom: 0;}
.blogs {padding-left: 10px; padding-right: 10px; margin-bottom: 0; }
.blogs .swiper-wrapper {justify-content: center; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -o-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap;}
.blogs-slider .swiper-slide {width: 30%; margin-right: 3.3%; }
.blogs-slider .swiper-slide:nth-child(3n) {width: 30%; margin-right: 0; }
}
@media screen and (max-width: 540px) {
.blogs-slider img {height: 100px;}
}
</style>
</head>
<body>
<section class="main main-theme">
<h1>Welcome to OpenResty!</h1>
<p>If you see this page, the OpenResty web platform is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support, please refer to our <a href="https://openresty.org/">openresty.org</a> site.</p>
<p>Commercial support is available at <a href="https://openresty.com/">openresty.com</a>.</p>
</section>
<section class="social white-theme">
<ul>
<li>
<a class="text-decoration-no flex justify-content-center align-items-center" href="https://www.youtube.com/channel/UCXVmwF-UCScv2ftsGoMqxhw">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="#fff" class="bi bi-youtube" viewBox="0 0 16 16">
<path d="M8.051 1.999h.089c.822.003 4.987.033 6.11.335a2.01 2.01 0 0 1 1.415 1.42c.101.38.172.883.22 1.402l.01.104.022.26.008.104c.065.914.073 1.77.074 1.957v.075c-.001.194-.01 1.108-.082 2.06l-.008.105-.009.104c-.05.572-.124 1.14-.235 1.558a2.007 2.007 0 0 1-1.415 1.42c-1.16.312-5.569.334-6.18.335h-.142c-.309 0-1.587-.006-2.927-.052l-.17-.006-.087-.004-.171-.007-.171-.007c-1.11-.049-2.167-.128-2.654-.26a2.007 2.007 0 0 1-1.415-1.419c-.111-.417-.185-.986-.235-1.558L.09 9.82l-.008-.104A31.4 31.4 0 0 1 0 7.68v-.123c.002-.215.01-.958.064-1.778l.007-.103.003-.052.008-.104.022-.26.01-.104c.048-.519.119-1.023.22-1.402a2.007 2.007 0 0 1 1.415-1.42c.487-.13 1.544-.21 2.654-.26l.17-.007.172-.006.086-.003.171-.007A99.788 99.788 0 0 1 7.858 2h.193zM6.4 5.209v4.818l4.157-2.408L6.4 5.209z"/>
</svg>
OpenResty YouTube Channel
</a>
</li>
<li>
<a class="text-decoration-no flex justify-content-center align-items-center" href="https://blog.openresty.com/?src=oss_index">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAEC0lEQVRoge2ZX4gVVRzHP7tRSpiLaO62Eirq0q6gsGqtIZIYkgQq14ygCCFTQc3oocCXoIcikkAWgpBewjWiQLMipR5WRENNqy0oZBMUxQ1KKVFLab8+/GZodpg7M+fcc++y4AfOw71z/vy+5/zOnN/5TZMkErQA84F/geOMIZpTv/8CfgAeAnYCnQ23yJOm1IokWQe8BHwLvNowizzJEwIwDTgATAY2AwcbYZQPaddKcxFYABwBvgL2A931NsoLSWXLO/qfXZJaHdrWvbg26E2IuSxph6Rxoy3CRwiS+jWSQUnPjraQos2eRQtwAZiQ+v8Y8CbwZQCPd8dzBp5SdQ5IemQsuFZcDuWIkaSPJHU2SoiPa8XcD1wC7sqpM4xFCG8Dl30HKoWkthpmYmvBqsQMSdpe0FeLpA5JiyTNlNTkuiKPA6sAAXuAk45z8SMwz6HuG8BRoAdYCHQBc4DpwMSo3jBwFjgE9GFhUj6Rom5JuyWdk3RN0l5JL0qaK6m5YDaWlFyVJDcc6/dFK1Z6s7dHgpL8FnW0XVKPpPEZHfW7a3HmjKSpGWPnbvY4jH8y49klzP1OYHeWw1H9U8Dd5TzMm++ARZlPqimMyguSbhXM1JCk/ZKuh1+ETFbK8/U7H/gceDDs5DrzCrAGaAKWph8WhfFgb5oeYDCsXU4Ic90hYDEmZgQuB+IUoB+YG8g4X/4AZgDXkn+WWZFkB48C34ezqRR/A6eBX6Pfk7BzZgRpIeOiktdpN/BpAAOL+AxYjc3+AiwR8hoWEm1JV067VhtQwdynFVuFc8CfwA3gH+B34D/gY+xOXw+2AO9VefYEsBzYAdyK/8zaI1OwGagAy7DwIc0wcBMYX5u9mVSAfSXqNZNwsTKbvQN4DtgAPOBrXUk2A+97tcw6XKqUeyRtk3SxTgfdHgdbgtxHJgFvAZu8Zi6bq8BUbA964fL6jbmCucAzWI44BL3UIALcDsQs5gHfYLfFWvv5qZYOahUCMBvLoPiKOY9dqmrCx7XSDGIn/lXP9ucD2BBECJiYx7DgzpW85EVpQgkBi4cqHu2mE0BMSCFg2XrXTGM7AT4ohRYC8IVHmxUFz+/DrtPVXihdId5aadqwe70LZ4FZOc8nRP1ewQLYJBuA9fVKYfZ5hCive4zTE7VdXS8hrZJueoh52mGMStTmpDLyWiHLeg8hkn08yuu3U9KHifrt8gwaXegFtnq0O4Nd3Aawy9292B5ajt0aY14GdgF1XZG4fOC5MkXsTY7TCCFIejewiK/TYzRKCJI2yj15ncXurP4bKQTZ949PPAUMSFpbre96b/ZqPAw8jyXJZ1SpMwz8giUFD1IQMYyWkJiFmKgu7GuxsFTTBUzEAPDzqFl3hzvAbTNYsxBo1NR5AAAAAElFTkSuQmCC" alt="OpenResty YouTube Channel" style="margin-top: -3px" />
OpenResty Blog
</a>
</li>
</ul>
</section>
<section class="products main-theme">
<h2>OpenResty Inc. Products</h2>
<p>We solve your unique and complex web problems with our layers of solutions and expertise from over a decade of experience.</p>
<div class="products-list">
<a class="text-decoration-no" href="https://openresty.com/en/xray/?src=oss_index">
<img src="data:image/png;base64,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
<h3>OpenResty XRay</h3>
<p>Troubleshooting and profiling tool</p>
</a>
<a class="text-decoration-no" href="https://openresty.com/en/edge/?src=oss_index">
<img src="data:image/png;base64,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
<h3>OpenResty Edge</h3>
<p>Modern web application server</p>
</a>
</div>
</section>
<section class="blogs light-theme">
<h2 class="title">OpenResty's Official Blog for Technologies & Products.</h2>
<div class="blogs-slider swiper-container">
<div class="swiper-wrapper flex">
<div class="swiper-slide">
2023-12-29 08:06:11 +00:00
<a class="text-decoration-no" href="https://blog.openresty.com/en/xray-azure/?src=oss_index">
<div class="img-wrapper">
2023-12-29 08:06:11 +00:00
<img src="data:image/image/jpeg;base64,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
</div>
2023-12-29 08:06:11 +00:00
<p>How to deploy the on-premises version of OpenResty XRay on Microsoft's Azure cloud</p>
</a>
</div>
<div class="swiper-slide">
2023-12-29 08:06:11 +00:00
<a class="text-decoration-no" href="https://blog.openresty.com/en/edge-grpc-proxy/?src=oss_index">
<div class="img-wrapper">
2023-12-29 08:06:11 +00:00
<img src="data:image/image/jpeg;base64,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
</div>
2023-12-29 08:06:11 +00:00
<p>Configure distributed gRPC proxy in OpenResty Edge</p>
</a>
</div>
<div class="swiper-slide">
2023-12-29 08:06:11 +00:00
<a class="text-decoration-no" href="https://blog.openresty.com/en/edge-enable-waf/?src=oss_index">
<div class="img-wrapper">
2023-12-29 08:06:11 +00:00
<img src="data:image/image/jpeg;base64,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
</div>
2023-12-29 08:06:11 +00:00
<p>High-Performance Web Application Firewall (WAF) in OpenResty Edge</p>
</a>
</div>
<div class="swiper-slide">
2023-12-29 08:06:11 +00:00
<a class="text-decoration-no" href="https://blog.openresty.com/en/edge-edgelang/?src=oss_index">
<div class="img-wrapper">
2023-12-29 08:06:11 +00:00
<img src="data:image/image/jpeg;base64,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KjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AO0paDSV9ifEjo2KNlf/ANda9hp8Wqxsto6xXqjPksflf/dPY+1Y+O3enwyPBKkkTFXU5BHasqkHJXg7M1pSUXaauiS7tp7SUx3MbxuOzCq9eo6bNZ+JNJU3MSOwG2RT1Vvb0rndZ8GzQbpNOYzJ/wA82PzD6etcdLMIuXJV0Z21cvly+0pax/E5GkqSSJ4pCkiMjg4KsMEUoglIJEUmB1O04rv513PP5GR0UEYozTJCiiimIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooNAzQsdTMGFuYYrqHukg5/A9RXVWOi6HrduZbIywuPvIG5U/Q1xMKRu+JZCg9Qua6bQdIuUuFudK1O0Z16rkjI9CMV52LjGK5oy5X87f5Ho4STk+WUeZfib+g+H7jRr9pI7pZbZ1wylSrZ7H0rqFAI6U2EMYk8wKHx82OmakAwK8KpUlUlzS3PoKVKNKPLHYhe1geXzHhjaT+8VBNSbRjGBinE96w/EevQ6REM/PO/3I8/qfalCMqjUY6jnKNNOUtDP8X6NaXEDSRqkd4FZ12jG8Dkg15xXXx+JtVnDPNYmS1ZSD5cZ4B7g1yscEk8jLBHJIRzhVycV7uBU6acKj2PnsdKFWSlTW/kRUVLLbzQkCaKRCem5SM1I1hdqhZrWcKBkkxkYFd/PHucHJLsVqKleCWOJZXidY2+6xXAP0NOjs7mRA8dvK6HoyoSDRzx7hyPsV80ualkt5o2CyROjHoGUjNSfYLvOPs03/fs0OcV1H7OW1itmipltppGZY4ZGK8EBScUG2mE3leU/mf3dpz+VHPG9ri5GQ0VZNhd
</div>
2023-12-29 08:06:11 +00:00
<p>The EdgeLang DSL in OpenResty Edge</p>
</a>
</div>
<div class="swiper-slide">
2023-12-29 08:06:11 +00:00
<a class="text-decoration-no" href="https://blog.openresty.com/en/edge-upstream-real-ip/?src=oss_index">
<div class="img-wrapper">
2023-12-29 08:06:11 +00:00
<img src="data:image/image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAIzA+gDASIAAhEBAxEB/8QAHQAAAQQDAQEAAAAAAAAAAAAAAAECAwUEBgcICf/EAF0QAAEDAwIEAwUEBAgICA0DBQEAAgMEBREGIQcSMUETUWEIIjJxgRRCUpEVI6GxFiQzYnKCosEJFzRDU2OS0SU1RHOytMLhGChGVFVkdIOTo6Sz8EV1hCZmpcPx/8QAGgEAAgMBAQAAAAAAAAAAAAAAAAMBAgQFBv/EADcRAAICAQMCBAQEBgICAwEAAAABAhEDEiExBEETIjJRYXGh0YGRsfAFFCMzQuFSwRViJEPxNP/aAAwDAQACEQMRAD8A+ViVHRGE4AQOqXofRKpAEZQhSA4HKCE0HCXKtZQRCEKpIIQhSiDLopuR2D0V5A7maFrbTykEK4oJ+doyVpxvsZs0e5nyRgghUtdT8jyR0V6DzN6rDrYQ9h2TZRtCMctLKEhNPVSSN5XEJhCyNUb0NQhCrRIIQhRRIIQhQFghCEE2BQlPVIgAQhCmgsEIQigsEIQoJBCEIAEITg0lSkQ2IBlSMGFbWS2MqMveMjsFb1VoglhdysDXNHZaY421Zkn1EYy0mstGyR7NlLycjy09lLDTPqZGxsHM47YV6stqrcZbrZJcalsbBt3Pkuj0VBDZaDLgGho7p+nNPR2ukD5AObGSStY1jqA1ErqaE4YOpC1xgsMdT5OZOcupnojwU2obu651TgDiNp2VQGFzgAMknACc5ICQQRsQufJuTtnWhFQjpRunEfgxq7hPTWefU1rNviu0JmpXeI1/MBjIODsRkbHzWjrsH8P7zxt09T6Z1LdZa+6W2MmzT1BGwx70RPfIAwTvsuSTwSU0z4pWFkjHFrmuGCCOyvkhFVKHDF4ZydxyepEJCRPTSMLOakxEIQoJM6gm5TylZ08PixkKnY4scCOyuqWQTMC24XqWlmXIqepFK+IscQU0twrO403KecD5hV5SJw0uhsZalZEhKQho94Z6JQwTBQsxwAZ2wsNTKOkhOwQhCrRYEIQooAQhCgAQhCABCEIAEIQgB3OU3qhCm7AEIQoAEIQgAQhCAAJwCRoU7IHHthXSvgq2MDV6MulP9t9jG1y9TS3dwz5ZcvPHIWnBC9MWCD9IexJfRjJpLqx3yy5dHpF/cX/qzFnfpfxR5jITQzJ36KUhIzqQsFbmuxC0AdFG9uFOQoZfLupklRKI0IQklwS8p64SxjJU+FeMbIboxkJ8ow5MVWqJBCEKABCEIAEIQgAKEIQAhShCEACEIQAgGEqEIAEIQgAQhCABCEIARBSoQAmEY2SpEAHRJhKUIAMIARhKgBCMowlTvDceyKAYQhKRhCrQDUoGyB2SqwB3QhCABCEIAEIQgqCEIQQCEIVgHDosilmMT/RY42Tm9VeO25ElaNip5uYBOlHMPQqtoZ9sHsrIO5mrWnaOfKOllNXQcj8rDV3Vxc7Dsqh7OVxB7JE4mvHK0QkJFI4JhCTVDhEIQgAQhCgAQhA6oAD1QlI3RjqpARLypcJcIAyaa3PqWFw28ljywmKQsd1C2jTD2PpXNezmI6KnvkXJcHnGA7daZY0sakjNDK3kcGVaFJypFlo1DcFLypUmUUFigJwGEzmTskqyILmy3JlMSyQ+6VZ1l5hEbhG7JK1UDKlaN1ojNpUY54YylqZkjMj84ySV0TRelwyIVM7ffIyAR0VLonTTq+dtRK0+G07A91umo75Fp+gMbCPEIwAF0MMFFa5HO6nK5PwoFPrO/so4jS07hznY4XN5oy5xcTknusuqqn1k7pZDlxKhIBScj8RmvDj8KNdzCdGUzwysl7cFLHEXk+SzaDbq2IaaeaiqYp4HuimjcHMe3YgjoVu2rqeLWNkbqmijDKtmIrpTsHwv6NlA8nd/Vam6LlHRWmk9Ru0xdfGfH49FM0w1VM7pLGeo+fcK8Y0tMuGJnbqceV+6NaITVsetNNN0/cmupX+Pa6tvjUk/Z7D2PqOhWurNKLi6ZpjJTSkhuMIwlRhUouCzbfP4b+U9FhpWuLXAjqFeL0uyrVqjYJQJYyCqKZvhPLfJXdue2aLmduPJYl1hYRztGCFsyx1R1IzY3plpKooISoWCjWIjCVGMqaATCTCnpaWWtqYqeCMyzSvEbGN6ucTgAfVbbxN4Q6n4Q3CiotT0AopqyHxoeWQPDh3GR3GRlWUJOLklsiupJpXuaVhCcRskwll7EQhCgkEIQgAQhCKAEIQigBCVrS44AyfRK9jmHDgQfVTQDUIQooAQhCqAIQhSgJYG5fus5jfVV7Hcpz3WZHUtxuFog0JkmyaYZYCey9P8JIP0n7HHEmDGTT1DJQPqF5cdL4nQYC9aey/B+lPZw4u0PUimEgH0/wC5b+ld5H8UzD1G0F8zyM4KF3VZDwoXrnM3IjMhx1TCc9U4piXyMQIQhVosKDynIUvjbdFClVk2iGhSS45SYW+8HdO2PUmqW0t9qPApeUkHPUqm4g2y3WfVddSWqXxqON2GOynvC1j8W9hKyLXoNbwsu20JrqgRjosVZlrrzb6kSAZHcJcNOpauC8rrYtrlpuOnpTJG45b1BWuEYWyXXU7aumMcbOUnqVrgHMmZ9FrQUxaq8w1CfybdUwjBWaqHAhCFBIIQhAAhCEACEIQAIQhAAhCEACEIQAIQhAAhCEACEIQAIQhAD4hlynxhYzXcpypvHGOm6ZFpIo0xkw3QmvfzlCo92WQ1CEKCQQhCABCEIKghCEEAhCFYBUYSJwUgCUbIRhWBksUnhvBVxTy87RuqQLMop8HlJT4OthGSNqy0cM/VV1ZBg5We13MFFO3naU1pNCItxZUuaoi1ZL28pIUThhZ5I1pkJCRSEbJhGElqi4iEqAEAIlASgK206ygNaf0iSIeU4+avGOppFZy0RciqStaXHAWRUtidVSiDPhcx5c+Skhg8hkqyhbohy2sSKl90FElPgHZXDKdrWDOMrDqw1gPmVreNRRmWTUzK0u/llkamaoh5ZmP88hY9gm5K4DzCsdTM56YPx0IKF5sLEvy9Qn7msk4TCUqaVgZ0hMoQhQSK1PamBOHVSiCVoyr/AExpye91bcRu8Fpy52FSUrQ+ZjXbNJwV6x4W6ctbNLskLGYLMl3fK39PiWR7nM6vO8UaXc55US0+l7VnZpaNguSXu8zXasfLI7Lc7BbLxQuckuoqmkaSII3YaPNaS5MzTt6VwhXS
</div>
2023-12-29 08:06:11 +00:00
<p>How to pass the real client IP addresses to backend servers via special request headers</p>
</a>
</div>
</div>
</div>
</section>
</body>
</html>