Linux 在AWS Ubuntu实例上的Nginx上设置SSL
我目前在运行Linux的AWS实例上有一个NodeJS(Koa.js)/Angular4+应用程序,我需要对其进行配置以使用SSL。我在网上学习了一些教程,生成了SSL证书,并试图让它正常工作,但到目前为止我没有运气 让我向您介绍一下我迄今为止所做的工作: 我已经生成了SSL证书,它位于实例的/home/ubuntu目录中名为SSL-bundle.crt的文件中。我还把钥匙放在同一个目录里 我在Nginx上为应用程序配置了服务器块,如下所示(/etc/Nginx/sites available/dashboard.conf): 节点应用程序在端口4000上运行,因此当有人访问该url时,我有一个到该地址的代理传递。当我不使用SSL时,应用程序在访问该URL时运行良好,但当我尝试使用上述服务器块代码尝试访问该URL时,会导致超时。有人能在这里帮助我,或者看看我的配置有什么问题吗Linux 在AWS Ubuntu实例上的Nginx上设置SSL,linux,amazon-web-services,ssl,nginx,Linux,Amazon Web Services,Ssl,Nginx,我目前在运行Linux的AWS实例上有一个NodeJS(Koa.js)/Angular4+应用程序,我需要对其进行配置以使用SSL。我在网上学习了一些教程,生成了SSL证书,并试图让它正常工作,但到目前为止我没有运气 让我向您介绍一下我迄今为止所做的工作: 我已经生成了SSL证书,它位于实例的/home/ubuntu目录中名为SSL-bundle.crt的文件中。我还把钥匙放在同一个目录里 我在Nginx上为应用程序配置了服务器块,如下所示(/etc/Nginx/sites available/
谢谢我们在几个API服务器上使用了letsencrypt,我发现它的设置非常简单 原来这不是Nginx的问题,而是AWS安全组的问题。在设置中,我不允许443作为传入端口。一旦我这么做了,效果就很好了。希望这对将来使用AWS的人有所帮助
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443;
ssl_certificate /home/ubuntu/ssl-bundle.crt;
ssl_certificate_key /home/ubuntu/dashboard.d*****d.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/d*****d.access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:4000;
proxy_set_header X-Forwarded-Proto $scheme;
}
}