Как-то все слишком мудрено.
По сути вам нужен безопасный бэк к которому не имеют доступ сторонние пользователи, и фронт который напрямую работает с пользователями.
В качестве фронта - nginx который будет работать с пользователями. Где его размещать не суть важно.
Хотя гораздо удобнее сделать это на какой-нибудь хостинговой площадке, чем держать в своей сети.
А уж защита бэкэнда - тут все элементарно. Простое правило для файервола разрешающее доступ к бэку только с одного IP адреса.