我正在端口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的情况下使用某些防火墙)。

10-07 19:52
查看更多