如何建立一个现成的 https 到 http 网关?

Posted

技术标签:

【中文标题】如何建立一个现成的 https 到 http 网关?【英文标题】:How to put up an off-the-shelf https to http gateway? 【发布时间】:2010-09-11 00:15:21 【问题描述】:

我有一个 HTTP 服务器,它位于我们的内部网络中,只能从它内部访问。我想放置另一台服务器来侦听可从外部访问的 HTTPS 端口,并将请求转发到该 HTTP 服务器(并通过 HTTPS 发回响应)。我知道有几种方法可以通过涉及一些编程来做到这一点(我自己用 Tomcat 和我编写的一个非常简单的 servlet 做了一个临时解决方案),但是有没有办法做同样的事情只是插入已经制作的部件(比如 Apache + 模块)?

【问题讨论】:

【参考方案1】:

stunnel 就是为这种用例而设计的。有一个特定的example 使用 stunnel 来包装 HTTP 服务器。

不过,您应该考虑这是否真的是一个好主意。设计用于企业防火墙内部的 Web 应用程序通常在安全性方面相当松懈。仅仅加密连接可以防止随意窃听,但不能保护站点。如果攻击者发现您的外向服务器并开始连接到它,他们仍然可以尝试在 Web 服务中找到可利用的漏洞(SQL 注入、跨站点脚本等)。

【讨论】:

是的,我知道存在风险,我还计划向 HTTP 服务器添加规则,以便只有一些特定的 URL 可用于外部连接。【参考方案2】:

使用 Apache 查看 mod_proxy。

Apache 2.2 mod_proxy docs

Apache 2.0 mod_proxy docs

【讨论】:

以上是关于如何建立一个现成的 https 到 http 网关?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud Gateway中如何将HTTP重定向到HTTPS

如何从MongoDB迁移到MySQL?这有现成经验!

API网关Kong使用指南(六)—— 支持HTTPS

如何实现从信用卡到比特币的支付网关

游戏服务器框架之网关

从源码分析微服务网关的设计