Я новичок в веб-программировании и хочу спросить руководство или указания. Я немного искал, но ни одна из технических статей не отвечает моим конкретным c потребностям:
Я создаю приложение, в котором пользователи могут отправлять картинки и делать забавные изменения на картинке. в настоящее время у меня есть две виртуальные машины в облаке:
пользователь ------> Router_Server --------> Application_Server
Все запросы http будут go через Сервер маршрутизатора сначала для некоторой проверки личности и аутентификации. Служба nginx работает на сервере маршрутизатора.
Сервер приложений - это то место, где сохраняются изображения, и где применяется алгоритм настройки изображений.
В настоящее время мультитенантный механизм не реализован. если пользователь A аутентифицирован для посещения сервера приложений, то он может просматривать фотографии пользователя B, если у него правильный URL-адрес, который легко угадать.
Я хочу создать таблицу MySQL в маршрутизаторе, перечисляя идентификатор пользователя и идентификатор фотографии, которой он / она владеет. Если пользователь A пытается отправить http-запрос на просмотр фотографии, которая ему не принадлежит, или посетить URL-адрес, содержащий идентификатор фотографии других людей, nginx должен просто вернуть ему 403.
Я собираюсь написать скрипт python, который:
Когда пользователь отправляет фотографию, мы получаем идентификатор пользователя и идентификатор фотографии из http запрос и обновите таблицу MySQL с помощью user_id и photo_id.
Когда пользователь запрашивает просмотр фотографии, мы проверяем таблицу, чтобы узнать, принадлежит ли ей идентификатор фотографии в http-запросе. Если да, мы передаем http-запрос на сервер приложений; если нет, мы возвращаем 403 пользователю.
Я новичок в nginx. Можно ли интегрировать такой модуль python / mysql в конфигурацию nginx? Или я иду в неправильном направлении, чтобы подойти к этой проблеме?