(Я использую Linux)
Локальный IP моего ПК - 172.16.1.2
Команда ip a
возвращает 172.16.1.2
Затем я могу добавить еще один IP к тому же сетевому интерфейсу:
теперь команда ip a
возвращает 2 IP
Затем я привязываю Python простой http-сервер к 192.168.1.10
:
Затем просто откройте http://192.168.1.10:8000
в браузере или через curl
Мой вопрос в том, почему он печатает 192.168.1.10
, а не 172.16.1.2
?
Поскольку я получаю доступ к серверу с моего локального IP-адреса, который 172.16.1.2
, я ожидаю, что это будет REMOTE_ADDR
ip addr add 192.168.1.10 dev eth0
172.16.1.2
192.168.1.10
from wsgiref.simple_server import make_server
def hello_world_app(environ, start_response):
print(environ['REMOTE_ADDR']) # why not 172.16.1.2
start_response(status='200 OK', headers=[])
return [b"Hello World"]
IP = '192.168.1.10'
PORT = 8000
make_server(IP, PORT, hello_world_app).serve_forever()