Sil*_*ser 2 ssl nginx amazon-ec2 amazon-web-services node.js
我有一个用nginx和mongodb在ec2上运行的nodejs / express应用程序。我在8个核心ec2实例上运行,并且我的nodejs应用程序有8个单独的实例,这些实例在nginx的前面运行。目前,我只有1台服务器。
我们将很快上线,并希望确保我们的服务器仅响应SSL请求。我想知道如何以及在哪里配置SSL连接。我将按有序列表列出问题,如果您在回答全部或部分问题时能参考问题编号,将不胜感激。这不仅对我来说很容易,而且对阅读此主题的其他人也很容易。
他们来了:
我必须去像verisign这样的CA才能获得证书,对吗?我的域名通过godaddy注册,可以从他们那里获得ssl证书吗?
我是否需要在ec2实例上安装证书?如果是的话,如果我必须为HA添加另一台服务器并且我想使用弹性负载平衡怎么办?在这种情况下,是否需要为每个ec2实例购买单独的证书?有人可以指出我一些文档或教程来为ssl配置nginx吗?
开启ssl后,如何确保所有非ssl连接都自动重定向到ssl端点?我可以通过Nginx中的配置条目轻松地做到这一点吗?
非常感谢任何在正确方向上的帮助或指点。
--su
1.我必须去像verisign这样的CA才能获得证书,对吗?我的域名通过godaddy注册,可以从他们那里获得ssl证书吗?
2.是否需要在ec2实例上安装证书?
是的,您要在其上提供HTTPS内容的每个服务器都需要安装证书。请谨慎购买可以安装在多台服务器上的证书-有些证书只能安装在一个服务器上。看起来GoDaddy允许无限制的证书安装,因此如果您使用它们,这不是问题,但是如果您与其他人一起去,则可能不是问题。
另一个考虑因素是,如果您希望让子域使用SSL(即https://*.mydomain.com不会引发浏览器警告),则需要购买一个通配符证书(以允许不受限的子域)或支持您要使用的特定数量的子域的证书。
还要注意,如果您需要在AWS上的负载均衡器后面支持粘性会话,则需要在Elastic Load Balancer(ELB)以及所有服务器上安装证书。
但是我不会担心这一切,直到其他一切正常为止,因为您现在只有一台服务器,但是请注意,证书必须是X.509(看上去是GoDaddy的)才能安装在ELB上。只需确保在购买时就可以了,因此将来不再是问题。
有人可以指出我一些文档或教程来为ssl配置nginx吗?
3.如何确保所有非SSL连接都自动重定向到SSL端点?
请在ServerFault上查看此答案,它的配置非常简单:
server {
listen 80;
server_name signup.mysite.com;
rewrite ^ https://$server_name$request_uri? permanent;
}
Run Code Online (Sandbox Code Playgroud)
祝你好运。
| 归档时间: |
|
| 查看次数: |
1042 次 |
| 最近记录: |