Возможно ли получить IP-адрес сервера программным способом в запросе на бутылку?получить адрес сервера из бутылки
Мне нужно вернуть ссылку на файл на сервере внутри запроса и знать IP. Бутылка будет запущена на сервере с разными IP-адресами, и все эти IP-адреса будут обслуживать запросы.
В настоящее время я выглядит следующим образом:
from bottle import *
import json
@get('/file')
def getAFileLink():
# some logic here for the right filename to return
# server runs now on e.g. 10.0.0.1 and 10.10.0.1
# every client should see the IP from the server in the right subnet
return json.dumps({'url': 'http://127.0.0.1:1337/some/file.abc'})
@route('/some/<filename>')
def getStaticFile(filename):
return static_file(filename, root="/srv/static/files")
if __name__ == "__main__":
run(host='0.0.0.0', port=1337)
Кто делает маршрутизацию запроса? Вы находитесь за балансировщиком нагрузки? Или ваши клиенты должны быть осведомлены о узле (сервере)? (Я бы советовал по-разному в зависимости от ответа.) –
Маршрутизация из руководства по бутылке: она используется, когда вы хотите обслуживать статические файлы. – reox