Как отобразить веб-приложение, которое работает на локальном хосте сервера в браузере моего ноутбука - PullRequest
2 голосов
/ 14 октября 2019

Я должен сказать, что я не веб-разработчик, и я ничего не знаю о том, как работает веб-приложение.

Я подключился к удаленному серверу через ssh, скачал проект (приложение Python, флешка) из github и запустил его там:

zwlayer@personalcomputer $ ssh myusername@ku.edu
myusername@ku.edu $ git clone https://github.com/.../project
myusername@ku.edu $ cd project
myusername@ku.edu $ env FLASK_APP=app.py FLASK_ENV=development env USE_CUDA=False flask run --host=0.0.0.0

Теперь можно ли взаимодействоватьс этим через мой браузер с моего персонального компьютера?

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

При запуске сервера разработки Flask с использованием flask run он по умолчанию начинает прослушивать интерфейс обратной связи через порт 5000. Добавляя --host=0.0.0.0, вы заставляете сервер фляги прослушивать все сетевые интерфейсы хоста. Таким образом, если у вас есть полный сетевой доступ к хосту, вы сможете указать на него свой браузер. С адресами, указанными в вашем вопросе, просто введите http://ku.edu:5000 в адресную строку браузера, чтобы взаимодействовать с веб-приложением Flask.

Однако это не рекомендуется из соображений безопасности! Поскольку сервер прослушивает все сетевые интерфейсы, любой человек, имеющий сетевой доступ к главному компьютеру, может получить доступ к приложению. Вы запускаете приложение с сервером разработки Flask в режиме разработки, который небезопасен для производственного использования.

Вместо этого я бы предложил использовать ssh port forwarding для доступа к разработке колбысервер, связанный с интерфейсом обратной связи удаленного хоста:

zwlayer@personalcomputer $ ssh -L 5000:localhost:5000 myusername@ku.edu
myusername@ku.edu $ git clone https://github.com/.../project
myusername@ku.edu $ cd project
myusername@ku.edu $ env FLASK_APP=app.py FLASK_ENV=development env USE_CUDA=False flask run

Таким образом, ssh перенаправляет весь трафик, направляемый на порт 5000 вашего локального компьютера через туннель ssh, на localhost:5000 на удаленном хосте, т.е. на порт 5000 самого удаленного хоста.

Таким образом, вы можете указать вашему браузеру http://localhost:5000, который перенаправляется на localhost:5000 удаленного сервера, где находится ваш флеш-сервер. Но, в отличие от вышеупомянутого решения, только локальные пользователи или пользователи ssh на удаленном хосте могут получить доступ к вашему приложению.

0 голосов
/ 14 октября 2019

Вы можете использовать переадресацию локального порта в SSH.

SSH на сервер с командой:

ssh -L 5000:127.0.0.1:5000 myusername@ku.edu

Это перенаправит порт 5000 на вашем хосте в порт5000 на сервере

Запустите приложение с помощью команды:

flask run --host=127.0.0.1 --port=5000 (параметры хоста и порта используются для явного понимания)

, и вы сможете получить доступприложение, введя http://127.0.0.1:5000 в вашем браузере.

Подробнее на https://www.booleanworld.com/guide-ssh-port-forwarding-tunnelling/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...