Facebook webhook IP地址不在文档中

时间:2018-02-01 10:46:51

标签: facebook facebook-graph-api

我正在为我的计算机服务器创建webhook。根据官方文件。它说以下命令将为我提供views.py个。

Docs

CIDR

但是当我实施时。我总是得到另一个不在列表中的Facebook IP地址。

请参阅this我知道它经常更改。但它不应该在10秒内排除在列表之外。

1 个答案:

答案 0 :(得分:0)

我今天获得了新知识! NginxDockerDjango一直到达我的代码变量 REMOTE_ATTR被队中的某个人变异了。然后我使用相同的变量添加新的引用X-Real-IP,然后再次观察我的代码。

location / {
        proxy_pass_request_headers on;
        proxy_set_header           Host $host;
        proxy_pass                 http://app;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header REMOTE_ADDR $remote_addr;
}

有人再次将变量名称从X-Real-IP变为HTTP_X_REAL_IP。最后我的WebhookPermission必须是这个

import logging

from rest_framework import permissions

from poinkbackend.apps.socials.utils import check_whitelist

logger = logging.getLogger('django')


class WebhookPermission(permissions.BasePermission):

    def has_permission(self, request, view):
        ip_addr = request.META['HTTP_X_REAL_IP']
        logger.info(f'{ip_addr} inbound a webhook')
        logger.info(f'{request.META}')
        return check_whitelist(ip_addr)