SSL 反向代理

SSL 反向代理

我该如何使用 apache 作为 SSL 反向代理并使用 lighttpd 作为 Web 服务器来设置 SSL 反向代理?

我希望强制每个人都使用 SSL 连接,这样任何 http 连接都会重定向到 https。我希望在 8080 上运行的 Web 服务器仅接受来自 127.0.0.1(即代理服务器)的连接。我希望端口 23424 上的应用程序可以使用 /example 而不是 :23424/example 进行访问。

解决这个问题的最佳方法是什么?

在 ubuntu12.04 lts 上

答案1

一种不同的方法但具有几乎相同的效果是使用具有不同虚拟主机和 html 重定向的 Apache(可选使用 htaccess 以获得额外的安全性)。

最终结果的不同在于,你不能将 http 请求深度链接到 https,因此人们访问http://www.example.org将被重定向至https://www.example.org,但那些试图访问http://www.example.org/existing/link.html将收到 404 页面未找到错误。一旦通过 http 输入,他们只会通过 https 继续服务器,因此这只会对现有链接或键入自己的链接(并忘记 https)的人造成问题。

也许这可以通过 mod 重写来实现,但我还没有测试过,所以我不确定是否可以重定向到不同的端口。

设置如下:

Virtual host 1: is default server and listens to port 443
This host will consist of the main external webpages.

要设置虚拟主机,

Virtual host 2: listens to port 80 to the name http://externaldomainname.org 
with an optional alias http://www.externaldomainname.org
In the root of this virtual host only one file exist, a html redirect. 

要进行 html 重定向,

Virtual host 3: listens to port 80 to a local name (localhost or hostname)
will only be accessible from localhost for local applications.
if real security is required, access should be limited by use of htaccess.

要通过 htaccess 限制访问,

相关内容