У нас есть приложение Heroku http://random-heroku-app.herokuapp.com
и доступ к нему (с использованием HTTPS) должен быть ограничен всего двумя IP-адресами. Nginx с его функцией allow здесь идеально подходит.
Но можно ли развернуть Nginx в AWS и настроить его так, чтобы он находился «перед» приложением Heroku?
Пример: Если я пойду в http://random-heroku-app.herokuapp.com
, Nginx сначала проверит, пытаюсь ли я подключиться с разрешенного IP-адреса, и только потом проксирую меня на http://random-heroku-app.herokuapp.com
.
Заранее спасибо!
Конечно!
Вам просто понадобится серверный блок внутри nginx, который будет выглядеть примерно так:
server {
listen 443 ssl;
server_name random-heroku-app.herokuapp.com;
ssl_certificate .ssl/cert.crt;
ssl_certificate_key .ssl/key.key;
allow publicip;
deny all;
location / {
proxy_pass https://appip:443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}