假设一个WSO2的API Manager实例接收来自外部客户端的API调用,可以将调用者的IP地址传递给后端(例如,在标题中,也欢迎其他解决方案) )?如果是的话怎么样?
答案 0 :(得分: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>
如果在API Manager之前有代理,则可能无法使用REMOTE_ADDR
识别真实客户端。它将是代理的IP。在这种情况下,您可以使用X-Forwarded-For
http标头。