Есть ли другой способ сделать это? SSL возможно? Тем не менее, мой взгляд на эту тему.
Задержка: сколько мне ждать? Будет ли это сильно меняться? Это «сломает мое приложение»?
Зависит от самого соединения и некоторых различных факторов. Например, у нас есть соединение OpenVPN между нашими двумя офисами, работающими 24/7, даже во время пиковых нагрузок (большой трафик P2P, не спрашивайте :), соединение стабильно и не наблюдается большой задержки. Единственная проблема, с которой мы сталкиваемся время от времени, - это проблемы с провайдером. Когда человек падает, работа останавливается на одной стороне. Вы должны принять это во внимание и реализовать какой-то механизм отказоустойчивости. Если нет, ваше приложение будет «сломано».
Закрытое соединение. Стоит ли ожидать, что мое соединение останется открытым? Открыто ли это в PHP достаточно тривиально / быстро?
Я не рекомендую PHP-приложению обрабатывать VPN-соединение, оно должно быть направлено на то, чтобы убедиться, что бизнес-логика работает должным образом, и оставить обработку всех соединений на сети / сервере. Если вы хотите поместить всю эту логику в приложение и если VPN-соединение изменится, вам нужно будет переписать его. Зовите меня ленивым, но мне нравится абстракция :)
Конфигурация VPN-клиента: это будет чрезвычайно сложно? Есть ли еще параметры сервера, которые нужно изменить, кроме открытия порта?
Трудно ответить на этот вопрос, так как нет информации ни об используемом клиент-сервере VPN, ни о какой-либо конфигурации VPN-сервера. Это может быть так же просто, как открыть порт или так же сложно, как пробежать марафон без какой-либо предварительной практики.
Подключение к БД в PHP: есть ли какие-то особые шаги, которые я должен предпринять, потому что это через VPN?
Не следует, просто убедитесь, что БД доступна после подключения. Вы будете про