我的一位用户在从公共地址转发到内部网络应用程序时遇到了一些问题。
当情况如下时,一切都很顺利:
- 首页:http://www.myexample.com/
- 内部应用程序的公共引用: http://www.example.com/app-8903/app.html
- 秘密前往:http://secret.example.com:8903/app-8903/app.html
也就是说,我的用户提供了最后一个 URL,其端口信息在 URL 库中重复,他们利用该 URL 来提供隐藏端口和内部机器名称的公开界面。如果您查看,仍然可以在 URL 库中读取端口,但明显的引用和机器名称被隐藏了。
通过这种方式,他可以在 secret.example.com 上使用不同的端口运行多个不同的应用程序实例,而在前端,它看起来就像是在更改 URL 目录/库。
现在用户想要通过 https: 做同样的事情,而帮助他进行 apache 配置的人说这无法做到。
是吗?由于我本人没有亲自修改配置,我不确定他的 IT 人员尝试了什么,但阅读了 apache2 SSL FAQ 和其他文档后,似乎应该可以将 URL 重写为不同的端口并仍然使用 https:。
答案1
SSL 必须仅在前端(公共服务器)启用,代理 SSL 请求与破坏 SSL 安全性(中间人攻击)相同。因此,您将拥有:https://www.myexample.com/app-8903/app.html但它会秘密地为来自https://secret.myexample.com:8903/app.html
当然,如果他的应用程序尝试将 URL 重定向到没有 SSL 的其他位置,就会出现问题。