![我可以在单独的服务器上托管子网站并使用 SSL 吗?](https://linux22.com/image/491307/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E5%8D%95%E7%8B%AC%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%98%E7%AE%A1%E5%AD%90%E7%BD%91%E7%AB%99%E5%B9%B6%E4%BD%BF%E7%94%A8%20SSL%20%E5%90%97%EF%BC%9F.png)
我对此很陌生,但我想知道这是否可能,如果可能,如何做。
我有一个网站http://我的网站/目前托管一些内容。我想在单独的服务器上托管另一个网站,但我希望 URL 为:
http://mysite/mysecuresubsite
此外,我想使用 SSL 保护子站点服务器。
那么,这可能吗?我需要做什么才能实现这一目标?
(顺便说一下,使用 IIS)
答案1
您可以设置第一台服务器,将请求代理到第二台服务器。因此,http://mysite/mysecuresubsite将通过代理http://第二服务器/其余内容都在本地提供。第二台服务器上的绝对链接可能会出现一些问题,因此如果两台服务器都提供相同的路径,您可能会发现更容易。IE,http://mysite/mysecuresubsite代理http://secondserver/mysecuresubsite。
至于你问题的 SSL 部分,一旦你设置了代理,你应该能够重定向任何内容到http://mysite/mysecuresubsite到https://mysite/mysecuresubsite。这确实意味着 SSL 端点将位于您的第一台服务器上,而不是第二台服务器上。这只有在您的第二台服务器依赖客户端证书进行身份验证时才会成为问题,这种情况很少见。
我不知道 IIS 是否具备这些功能,但我相信如果 IIS 不能,ISA 应该可以。如果其他方法都失败了,您可以在两者之前使用可以做到这一点的 Apache 之类的东西,并适当地代理。
答案2
您需要使用 Apache 的反向功能。通过我们所谓的“反向代理”,基本上,Apache 会读取调用的 URI,并借助该模块将网站的一部分重定向到另一台服务器。我让您写这个介绍: http://www.apachetutor.org/admin/reverseproxies 那么你可以询问更多信息
答案3
我假设你使用的是 Linux。你可以通过以下几种方式实现此目的:
导航到您的文档根目录(如果是 apache,则默认为 httpdocs)
(可能是/var/www/html/httpdocs/
或/var/www/vhosts/mysite/httpdocs/
或类似)
要永久重定向,请.htaccess
像这样编辑文件:
重定向 301 /mysecuresubsitehttp://我的安全子站点/
如果您没有使用 linux/apache,那么有很多关于此主题的页面:
如何在 Apache .htaccess、IIS、PHP、ASP 和 ColdFusion 中进行 301 重定向
编辑:
如果你希望http://mysite/mysecuresubsite
在外部安全服务器上读取 URL,则可以使用内嵌框架有一个很好的例子这里。
答案4
你不能让一个域名同时指向两个不同的主机。所以答案是“否”。