Я пытаюсь запустить простой Python-сервер с REST API и Connexion / Flask , встроенными на удаленный сервер Linux (привязка к серверу общедоступный IP-адрес ) с использованием Apache .(Сервер работает под управлением Ubuntu 16.04.5 LTS, код Python был написан на Python 3.7)
Вот несколько файлов для реализации сервера:
server.py :
import connexion
app = connexion.App(__name__, specification_dir='./')
app.add_api('swagger.yml')
if __name__ == "__main__":
app.run(host='127.0.0.1', port=5000, debug=True)
swagger.yml : спецификации для REST API, я проверил его на локальном хосте, и он работает нормально. (базовый путь - / api)
opertations.py : функции для API в зависимости от ответа
Моя цель - запуститьСервер на удаленном сервере Linux, который любой, кто знает общедоступный IP-адрес сервера, сможет вызвать API.Например, если общедоступным IP-адресом является xxx.xx.xx.xxx, то пользователи должны иметь возможность вызвать следующий URL-адрес для получения данных:
http://xxx.xx.xx.xxx:<port>/api/<operation_name>?<query_parameters>
До сих пор я мог вызыватьAPI (который работал на localhost на сервере) со стороны клиента с переадресацией порта SSH , а также ngrok (они предоставляют туннели к локальному хосту сервера)), но это не то, что я хочу.
Я новичок в создании своих собственных веб-серверов, я изучал Apache и его работу с VirtualHosts и т. д., но я не мог найти, как именнонастроить его так, чтобы он связывал сервер python с общедоступным IP-адресом сервера Linux.