背景: 我有一个在 Pivotal Web 服务上运行的小型 Rails 应用程序,后台使用 MongoDB 作为数据库层。我使用了 Rails 和 PWS 提供的尽可能多的标准,但使用 Unicorn 作为应用程序服务器更改了 Webrick,以允许更好的扩展/多处理。
我的挑战: 我的项目中的下一个挑战是引入 SSL,这是我需要帮助的地方。
我已经找到了什么: 我找到了有关如何将 SSL 与 Webrick 或 Thin、Puma 和 Nginx 一起使用的信息,但没有找到关于与 Unicorn 一起使用 SSL 的信息。我还发现 Webrick、Thin 和 Nginx 被称为 Web 服务器,而 Unicorn 通常被称为具有 HTTP 功能的应用程序服务器。
问题:
- 我是否需要在 Unicorn 前面添加一个 Web 服务器来在我的浏览器客户端和我的 PWS 应用程序之间实现 SSL,或者也可以在 Unicorn 中完成?
- 如果我需要添加 Web 服务器,PWS 标准 Web 服务器是否是一个不错的选择,因为我可以利用 PWS 标准的负载平衡和水平扩展?
- 如果我使用我的应用程序实现 Nginx 或其他 Web 服务器,我会失去标准 PWS 负载平衡功能吗?