WSO2:将呼叫者的IP地址传递给后端

Jér*_*nge 3 api backend ip-address wso2 wso2-api-manager

假设WSO2的API管理器的实例接收来自外部客户端的API调用,可以将调用者的IP地址传递给后端(例如,在标题中,也欢迎其他解决方案)?如果有,怎么样?

Bee*_*Bee 6

HTTP标头是实现它的方法.您可以创建这样的序列并附加到API.

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="sample">
    <property name="client_ip" expression="get-property('axis2', 'REMOTE_ADDR')" scope="transport"/>
</sequence>
Run Code Online (Sandbox Code Playgroud)

如果您在API Manager之前有代理,则可能无法识别使用的真实客户端REMOTE_ADDR.它将是代理的IP.在这种情况下,您可以使用X-Forwarded-Forhttp标头.