У меня есть веб-страница, которая будет обслуживаться клиенту, после чего, когда он нажимает на страницу, он отправляет запрос обратному прокси-серверу nginx, который отправляет его правильному API RESTful. API nginx и RESTful находятся на другом сервере.
Как я могу использовать ngnix для ограничения только веб-страницей, чтобы пользователи не могли напрямую обращаться к API.
Я уже установил CORS, но мне сказали, что CORS можно обойти (например, почтальон).
Я пытался использовать (все в конфигурации nginx):
if ($host != domain.of.webpage) {
return 444;
}
Другой метод:
server {
listen 443 default_server;
listen [::]:443 default_server;
server_name _;
return 444;
}
И еще:
satisfy any;
allow xx.xx.xx.xx/xx;
allow xxxx:xxxx:xxxx:xxxx:xxxx/xx;
deny all;
Все ограниченный доступ, но также и к самой веб-странице. Я знаю, что последний метод не будет работать, так как клиент, который обращается к нему, не будет находиться на хосте, поэтому IP-адреса являются спорными.
Что-нибудь еще, что я могу попробовать?