
# 服务加入Istio后，如何获取客户端真实源IP？
#### 问题现象
服务启用Istio后，访问日志中无法获取到客户端源IP。
#### 解决方案
本文以绑定ELB类型Service的nginx应用为例，详细步骤如下：
1. **ELB侧开启获取客户端IP**
   
   ![](https://support.huaweicloud.com/cce_faq/public_sys-resources/note_3.0-zh-cn.png)
   独享型ELB默认开启源地址透传功能，无需手动开启。
   1. 在管理控制台左上角单击![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001221501677.png)图标，选择区域和项目。
   
   2. 选择"服务列表 \> 网络 \> 弹性负载均衡 ELB"。
   
   3. 在"弹性负载均衡器"界面，单击需要操作的负载均衡名称。
   
   4. 切换到"监听器"页签，单击需要修改的监听器名称右侧的"编辑"按钮。如果存在修改保护，请在监听器基本信息页面中关闭修改保护后重试。
   
   5. 开启"获取客户端IP"开关。
      图1开启开关   
      ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001568170057.png "点击放大") 
   
   
   
   
2. **更新服务所关联的网关**
   
   1. 登录CCE控制台，单击集群名称进入集群，在左侧选择"服务发现"。
   
   2. 在"服务发现"页面，切换至istio-system命名空间，并更新服务所关联的网关服务。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001568049289.png "点击放大")
      
   
   3. 将istio-system命名空间下自动生成的Service改为节点级别。 ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001517250374.png "点击放大")
      
   
   
   
   
3. **验证获取源IP**
   
   1. 使用kubectl连接集群。
   
   2. 查看nginx应用日志。
      ```
      kubectl logs <pod_name>
      ```
      本示例中，nginx应用获取到的源IP如下：
      ![](https://support.huaweicloud.com/cce_faq/zh-cn_image_0000001568091193.png "点击放大")
      
   
   
   
   
 
