Как вы упомянули, служба маршрутов является одной из возможностей.Другой способ - справиться с этим в вашем приложении.То, как вы это сделаете, зависит от используемого пакета сборки / языка.
Пример с Java - использование Tomcat, который устанавливается пакетом сборки, для ограничения доступа по IP.Вы можете сделать это с помощью Remote Address Filter .Если вы используете Spring Boot, вы можете сделать нечто подобное со встроенным Tomcat, который он предоставляет.
Если вы используете Apache HTTPD, вы можете использовать Require ip 10.10.10.10
для выполнения этого требования.Точно так же с Nginx вы можете использовать allow 10.10.10.10;
и deny all;
.
. Для других языков и структур проверьте свои документы для получения инструкций по ограничению на основе входящего IP.Единственная сложность, которую следует учитывать, заключается в том, что в Cloud Foundry ваше приложение находится за прокси, поэтому удаленный IP-адрес, который видит ваше приложение, не будет фактическим удаленным IP-адресом клиента.Это будет находиться в заголовке x-forwarded-for
.В приведенных выше примерах Tomcat, Nginx и HTTPD анализируют этот заголовок для вас, но в зависимости от вашего приложения и среды вам может потребоваться вручную просмотреть этот заголовок, чтобы получить правильный IP-адрес.
Выше предполагается, что выхотите, чтобы отклонение IP было конкретным и настраиваемым на уровне приложений.Если вы пытаетесь применить более широкие правила ко всей вашей базе, было бы более разумно применить эти ограничения до того, как трафик попадет в приложение или даже в основу.Возможно, вы могли бы использовать брандмауэр перед своим фундаментом или на внешних балансировщиках нагрузки, которые принимают трафик для вашего фундамента.Очевидно, все это зависит от инфраструктуры, доступной вам за пределами вашего фонда.
Надеюсь, это поможет!