我有一个HTTP服务器,它在我们的内部网络中,只能从内部访问。我想放置另一个服务器,它将监听一个可以从外部访问的HTTPS端口,并将请求转发到该HTTP服务器(并通过HTTPS发送回响应)。我知道有几种方法可以做到这一点(我自己用Tomcat和我编写的一个非常简单的servlet做了一个临时的解决方案),但是有没有一种方法可以做到这一点,只需插入已经制作好的部件(如Apache+模块)?
使用Apache可以查看mod_代理。
Apache 2.2 mod_proxy docs
Apache 2.0 mod_proxy docs
这是一种用例, stunnel 是为设计的。有一个特定的 example 使用stunnel包装HTTP服务器。
不过,你应该考虑一下这是否真的是个好主意。设计用于企业防火墙内部的Web应用程序在安全性方面通常相当松散。仅仅对连接进行加密就可以防止偶然的窃听,但不能保证站点的安全。如果攻击者发现了面向外部的服务器并开始连接到它,他们仍然可以尝试在Web服务中发现可利用的缺陷(SQL注入、跨站点脚本等)。