web端如何实现Https面向nginx及其背后的几个微服务
How to implement Https on web facing nginx and several microservices behind it
我刚开始开发一个 SPA,带有 java(dropwizard) REST 后端。我对 'web' 开发有点陌生,但我以前做过内部 Web 应用程序,所以安全性以前不是一个大问题。
现在我正在使用 nginx 作为我的 public 面向 Web 服务器,我刚刚发现在我们拆分实际服务器时出现的一大堆复杂情况:为我的 SPA 文件提供服务的静态 Web 服务器,以及 java它背后的微服务。
我习惯于使用 mod_jk 与 tomcat 进行 apache 通信,但现在我不得不在开发中实施 CORS,因为我的 SPA 部署在 lite-server 服务于不同的端口比 dropwizard 提供的 REST Api 更好。
现在我得到了我的最小可行产品并想将它部署到产品上,
但我不知道该怎么做。
- 我还需要 CORS header 吗? Dropwizard 将 运行 分别位于仅对本地进程可用的不同端口上,然后我将 nginx 配置为路由传入请求,例如/api/ 到那个端口。这算作 cross-origin 吗?
- 我想提供完整的 https。 Dropwizard 可以服务于 https,但我不想在多个微服务上更新 SSL 证书。我阅读了有关 nginx ssl 终止的信息,这是否能让我在本地使用普通 http 而在 nginx 上使用 https?
- 使用此架构进行部署时还有其他注意事项吗?
谢谢!
是的,你一定能做到!
您可以使用 nginx 终止 https,并且仍然让后端在纯 http 甚至 https 上运行。 proxy_pass
指令确实支持上游内容的两种访问方案。如有必要,您还可以使用较新的 TCP 流代理。
真的没有那么多警告。它通常会起作用。
我刚开始开发一个 SPA,带有 java(dropwizard) REST 后端。我对 'web' 开发有点陌生,但我以前做过内部 Web 应用程序,所以安全性以前不是一个大问题。 现在我正在使用 nginx 作为我的 public 面向 Web 服务器,我刚刚发现在我们拆分实际服务器时出现的一大堆复杂情况:为我的 SPA 文件提供服务的静态 Web 服务器,以及 java它背后的微服务。
我习惯于使用 mod_jk 与 tomcat 进行 apache 通信,但现在我不得不在开发中实施 CORS,因为我的 SPA 部署在 lite-server 服务于不同的端口比 dropwizard 提供的 REST Api 更好。
现在我得到了我的最小可行产品并想将它部署到产品上, 但我不知道该怎么做。
- 我还需要 CORS header 吗? Dropwizard 将 运行 分别位于仅对本地进程可用的不同端口上,然后我将 nginx 配置为路由传入请求,例如/api/ 到那个端口。这算作 cross-origin 吗?
- 我想提供完整的 https。 Dropwizard 可以服务于 https,但我不想在多个微服务上更新 SSL 证书。我阅读了有关 nginx ssl 终止的信息,这是否能让我在本地使用普通 http 而在 nginx 上使用 https?
- 使用此架构进行部署时还有其他注意事项吗?
谢谢!
是的,你一定能做到!
您可以使用 nginx 终止 https,并且仍然让后端在纯 http 甚至 https 上运行。 proxy_pass
指令确实支持上游内容的两种访问方案。如有必要,您还可以使用较新的 TCP 流代理。
真的没有那么多警告。它通常会起作用。