使用Nginx和Play Framework 2.2.x的SSL

时间:2014-04-28 14:26:09

标签: ssl nginx playframework-2.0

我在端口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打开所有页面。

感谢。

1 个答案:

答案 0 :(得分:1)

你不需要在代理和应用程序之间使用SSL连接,无论如何在这种情况下确保不能从世界上访问应用程序端口 - 很可能是亚马逊的安全规则(或者某些防火墙在使用其他提供商/ OS的情况。)