Попытка развернуть приложение PCF Spring Boot, для которого требуется статический IP-адрес
У меня есть приложение, которое использует весеннюю загрузку для бэкэнда и Vue.js в качестве внешнего интерфейса. Я упаковал приложение в jar-файл и с легкостью развернул его в PCF. Проблема в том, что приложение использует API-ключи из https://developer.clashroyale.com/... эти ключи требуют ввода IP-адреса, который будет использоваться...
Очевидно, мой ключ не будет работать, пока я не предоставлю правильный IP-адрес, так как я могу получить IP-адрес для своего приложения PCF, чтобы я мог сгенерировать правильный ключ API?
Кроме того, в документации говорится, что IP будет меняться при каждом развертывании моего приложения... Что вызывает вопрос:
Нельзя ли использовать API-ключи, которым требуются статические IP-адреса, с приложениями PCF?
Я развернул это же приложение на Amazon AWS, и оно работало, потому что у меня есть статический IP-адрес, который я могу использовать для регистрации ключа. Я предпочитаю использовать PCF, но у меня проблемы с настройкой.
2 ответа
Я не думаю, что вы сможете использовать этот API на платформе PCF. Каждый раз, когда вы cf restage
или что-либо, что приведет к перестроению / повторному развертыванию контейнера, IP изменится.
Короче говоря, да, это невозможно: https://docs.run.pivotal.io/marketplace/external-ips.html
Ваше приложение будет работать на любом количестве ячеек Диего, которые имеют разные IP-адреса. Есть несколько способов, которыми трафик может покинуть ваше приложение и ячейку.
В некоторых случаях исходящий трафик может проходить через NAT, и в этом случае количество возможных IP-адресов может быть небольшим, а IP-адреса могут изменяться не часто (или вообще не изменяться). В других случаях трафик может уходить непосредственно из ячейки Diego, на которой запущено ваше приложение. В этом случае гораздо больше IP-адресов, и они будут меняться при каждом перезапуске приложения.
Если вы говорите о какой-то общей установке Cloud Foundry, это будет зависеть от того, как операторы для этой среды настроили поток трафика, поэтому вам нужно будет убедиться у своего оператора, чтобы быть уверенным.
Если вы говорите о Pivotal Web Services, исходящий трафик будет исходить от IP-адреса ячейки, на которой работает ваше приложение. Смотрите ссылку в сообщении Франциско.
Сказав все это, есть хак, который вы можете использовать, чтобы обойти описанное выше поведение. Направляйте свой трафик через прокси. Трафик, исходящий из прокси-сервера, может иметь фиксированный IP-адрес.
На PWS на рынке есть услуга, которая может сделать именно это. Это называется QuotaGuard.
https://docs.run.pivotal.io/marketplace/services/quotaguard.html
Вам не нужно использовать эту услугу, вы можете использовать любого другого поставщика услуг или даже создать свой собственный прокси. Я бы порекомендовал воспользоваться услугой, если вы точно не знаете, что делаете. Настройка и защита прокси-сервера не является простой задачей, и неправильно защищенный прокси-сервер вреден не только для вас как владельца, но и для всего Интернета.