У меня есть сервер Ngnix, размещенный в Google Cloud - Compute Engine. Я создаю для этого публичный IP. Однако я хочу разрешить запросы только с нескольких IP-адресов, что означает, что я хочу разрешить только нескольким приложениям отправлять запросы на мой Nginx. Как я могу это сделать.
Короче говоря, я хочу внести в белый список несколько IP-адресов для доступа к моему Ngnix, размещенному на Compute Engine. Если кто-то знает об этом, дайте мне знать.
Как правило, вам лучше всего использовать брандмауэры облачной службы, так как таким образом трафик, который вы хотите отклонить, никогда не попадет на ваш сервер. Если он попадает на ваш сервер, для его отклонения требуются ресурсы, а если вы не полностью пропатчили его, это увеличивает вероятность взлома вашего сервера.
Я мало что знаю о Google Cloud, но поиск вызывает Правила брандмауэра Google Cloud VPC.
Правила брандмауэра Google Cloud позволяют разрешать или запрещать трафик к экземплярам виртуальной машины (ВМ) и от них в зависимости от указанной вами конфигурации. Включенные правила брандмауэра Google Cloud всегда применяются, защищая ваши экземпляры независимо от их конфигурации и операционной системы, даже если они не запущены.
Каждая сеть виртуального частного облака (VPC) работает как распределенный межсетевой экран. Хотя правила брандмауэра определяются на сетевом уровне, соединения разрешаются или запрещаются для каждого экземпляра. Вы можете думать о правилах брандмауэра Google Cloud как о существующих не только между вашими экземплярами и другими сетями, но и между отдельными экземплярами в одной сети.
Используйте allow / deny в вашем файле конфигурации - при условии, что у вас есть ngx_http_access_module (необычно, если у вас его нет)
server {
# usual stuff here
location / {
# list of allowed IP's
allow 1.2.3.4;
allow 5.6.7.8;
# deny anything else
deny all;
# usual stuff here
}
}