如何识别后端的wso2请求

时间:2017-08-16 15:00:50

标签: wso2 wso2-am

我试图在互联网上找到相关来源,但我无法找到相关信息。

我想了解如何识别对后端服务器的wso2调用。

我可以设置任何自定义http标头,但任何人都可以在cURL请求中覆盖它。所以这不是一个解决方案。还有其他想法吗?

修改

If its not clear enough - 当我将在我的后端服务器(API端点)中接收呼叫时,我将如何识别它是来自wso2还是来自其他地方。也许你会说“HTTP_USER_AGENT”,但可以自动覆盖。

3 个答案:

答案 0 :(得分:1)

您可以创建custom mediation sequence(每个API)或custom handler(全局)来自动注入http标头。

答案 1 :(得分:0)

您必须为WSO2 API管理器启用线路日志。要做到这一点 /repository/conf/log4j.properties文件并取消注释

#log4j.logger.org.apache.synapse.transport.http.wire=DEBUG

然后重新启动API Manager。

来自API Manager的传出消息将以<<符号记录。

示例:

[2017-08-17 10:10:49,007] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "GET /am/sample/pizzashack/v1/api/menu HTTP/1.1[\r][\n]"
[2017-08-17 10:10:49,007] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Origin: https://10.100.5.154:9443[\r][\n]"
[2017-08-17 10:10:49,007] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Accept: application/json[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Referer: https://10.100.5.154:9443/store/apis/info?name=PizzaShackAPI&version=1.0.0&provider=admin[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Accept-Encoding: gzip, deflate, br[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Accept-Language: en-US,en;q=0.8[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Host: localhost:9443[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "Connection: Keep-Alive[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
[2017-08-17 10:10:49,008] DEBUG - wire HTTPS-Sender I/O dispatcher-1 << "[\r][\n]"

答案 2 :(得分:0)

当通过WSO2 API Manager或ESB或EI提供请求时,您可以通过多种方式记录请求和响应。

请在conf / log4j.properties文件中启用wire日志,如下所示。

$scope.searchLocations = function () {
    $scope.formData.minDistance = $scope.minDistance;
    $scope.formData.maxDistance = $scope.maxDistance;
    $http.get('/api/places')
        .success(function (data) {
            $scope.searchLocations = data;
            //console.log($scope.formData.minDistance);
        })
        .error(function (data) {
            console.log('Error: ' + data);
        });
}

启用该类型时将打印四种日志类型,并将标记相关标记。

  1. 请求来到服务器&#34;&gt;&gt;&#34;
  2. 请求发送到后端&#34;&lt;&lt;&#34;
  3. 响应来自服务器&#34;&gt;&gt;&#34;
  4. 响应发送给客户&#34;&lt;&lt;&#34;