对于在ECS Fargate上运行的应用程序,我从应用程序负载均衡器切换到网络负载均衡器,因为我的应用程序需要静态 IP 地址。
现在,我无法从中获取源/客户端IP地址X-Forwarded-For或X-Real-IpHTTP标头。在这两个标头中,我都获得了私有 IP。在Application Load Balancer 上,我能够从X-Forwarded-For标头中获取客户端 IP 。
此处的文档说 NLB 保留源 IP 地址。
我还不能解决这个问题。我可能做错了什么?
如果使用网络负载均衡器无法做到这一点,鉴于我的应用程序在 AWS ECS-Fargate 上运行,我如何实现以下目标:
拥有静态 IP(例如 A 记录、IP 白名单等)
可以提取客户端 IP 地址(例如使用 GeoIP 等基于区域的业务逻辑)
我尝试使用html helper渲染这样的东西:
<a href="#" class="some-class"><img src="url/to/image.png" alt="alt-tag" /></a>
Run Code Online (Sandbox Code Playgroud)
我在.ctp文件中写这个:
<?php
echo $this->Html->link($this->Html->image("image.png", array("alt" => "alt-tag")),"#", array('class' => 'some-class'));
?>
Run Code Online (Sandbox Code Playgroud)
但在浏览器中,图像不显示,而是简单的纯文本:
<img src="/url/to/image.png" alt="alt-tag" />
Run Code Online (Sandbox Code Playgroud)
我做了inspect element,一切看起来都像我想渲染的那样.我试着现场编辑它,所以我edit as html在inspect元素中选择了选项.我惊讶地看到以下代码:
<a href="#" class="some-class"><img src="/url/to/image.png" alt="alt-tag" /></a>
Run Code Online (Sandbox Code Playgroud)
请不要<和>那是<和 >.
我无法弄清楚问题是什么.(我是cakephp的新手).