我该如何使用 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 限制访问,看