WSO2:将调用者的IP地址传递给后端
WSO2: passing the caller's IP address to the backend
假设 WSO2 的 API 管理器实例接收来自外部客户端的 API 调用,可以将调用者的 IP 地址传递给后端(例如 header ,也欢迎其他解决方案)?如果是怎么办?
HTTP Header 是实现此目的的方法。您可以像这样创建一个序列并附加到 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 经理之前有代理,您可能无法使用 REMOTE_ADDR
识别真正的客户端。它将是代理的 IP。在这种情况下,您可以使用 X-Forwarded-For
http header.
假设 WSO2 的 API 管理器实例接收来自外部客户端的 API 调用,可以将调用者的 IP 地址传递给后端(例如 header ,也欢迎其他解决方案)?如果是怎么办?
HTTP Header 是实现此目的的方法。您可以像这样创建一个序列并附加到 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 经理之前有代理,您可能无法使用 REMOTE_ADDR
识别真正的客户端。它将是代理的 IP。在这种情况下,您可以使用 X-Forwarded-For
http header.