我们已启用 Heroku 应用http://random-heroku-app.herokuapp.com
,并且必须将其访问(使用 HTTPS)限制为仅 2 个 IP。Nginx 及其允许功能非常适合此用途。
但是,是否可以在 AWS 中部署 Nginx 并对其进行配置,以便它位于 Heroku 应用程序的“前面”?
例子:
如果我访问http://random-heroku-app.herokuapp.com
,Nginx 首先会检查我是否尝试从允许的 IP 进行连接,然后才将我代理到http://random-heroku-app.herokuapp.com
。
先感谢您!
答案1
当然可以!
你只需要 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;
}
}