我在端口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应用,还是足以在nginx级别设置SSL? 鉴于我希望通过HTTPS打开所有页面。
感谢。
答案 0 :(得分:1)
你不需要在代理和应用程序之间使用SSL连接,无论如何在这种情况下确保不能从世界上访问应用程序端口 - 很可能是亚马逊的安全规则(或者某些防火墙在使用其他提供商/ OS的情况。)