我正在端口9000上的Amazon EC2上运行Play应用程序。
我将Nginx配置为侦听端口443的反向代理。
这是我的nginx配置:
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
upstream my-app {
server 127.0.0.1:9000;
}
server {
server_name www.my-app.com my-app.com;
rewrite ^(.*) https://www.my-app.com$1 permanent;
}
server {
listen 443;
ssl on;
ssl_certificate /home/my-app.com/certificate.crt;
ssl_certificate_key /home/my-app.com/certificate.key;
keepalive_timeout 70;
server_name www.my-app.com;
location / {
proxy_pass http://my-app;
}
}
我的问题是:我是否需要使用HTTPS而不是HTTP启动Play应用,还是足以将SSL设置为nginx级别?
考虑到我希望通过HTTPS打开所有页面。
谢谢。
最佳答案
您无需在代理和应用程序之间使用SSL连接,无论如何,请确保无法从世界上访问应用程序端口-最有可能是使用Amazon的安全规则(或在使用其他提供商/ OS的情况下使用某些防火墙)。