2014-02-18 1 views
0

В Python (Django) Мне нужен способ определить происхождение запроса, традиционно я использовал Python для обнаружения IP-адреса клиента, однако в моей работе клиентский сервер использует AWS с балансировщиком нагрузки, поэтому мне нужен способ обнаружения запрос исходит от DNS, как то естьPython узнает, как обнаружить публичный DNS?

Public DNS: ec2-11-11-11-48.eu-north-2.compute.amazonaws.com

есть ли способ обнаружения публичного DNS-сервера от клиента, т.е. для IP я делаю это:

def get_client_ip(request): 
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') 
    if x_forwarded_for: 
     ip = x_forwarded_for.split(',')[0] 
    else: 
     ip = request.META.get('REMOTE_ADDR') 
    return ip 

class IpAuthentication(Authentication): 
    def is_authenticated(self, request, **kwargs): 
     return get_client_ip(request) in SETTINGS.ALLOWED_IPS: 

Так что я спрашиваю: is есть ли способ убедиться, что запросы моих клиентов поступают из конкретного экземпляра AWS?

+0

Вы оценили возможность покупки статический IP на AWS? http://aws.amazon.com/articles/1346 –

+0

не работает. Я использую балансировку нагрузки + другие причины, я имею в виду, что у меня есть IP-адрес, но он изменяется, поэтому его нельзя использовать для проверки. Я уверен, что существует способ, чтобы клиент мог находиться в одном экземпляре, возможно, используя boto? – Prometheus

+0

Не могу по-настоящему понять вашу архитектуру. Я не вижу роли балансировки нагрузки, если экземпляр EC2 вызывает вашу службу django. –

ответ

2

Вам по существу нужен только другой EC2 (который вы начали), чтобы связаться с вашим сервером? Похоже, вам лучше использовать группы безопасности. Вам нужно создать группу безопасности и заблокировать в ней весь доступ извне. Затем запустите сервер-EC2 и клиент-EC2, используя одну и ту же группу безопасности. Это предотвращает весь доступ.

Подробнее здесь: Amazon EC2 Группы безопасности - Amazon Elastic Compute Cloud: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

Смежные вопросы