我想将一个域重定向到另一个域,同时还保持相同的文件夹和文件请求结构:
http://libraries.domain.net/testing/another/blah.php
https://libraries.anotherdomain.com/testing/another/blah.php
暂时忽略SSL部分。
我的第一个问题很简单:
web.config
文件(IIS)中实现此目的?.htaccess
文件执行此操作?您无需回答这个问题,因为我认为question无论如何都有正确的答案,但只是希望它得到确认。请注意:如果您只知道问题3的答案,请不要打扰回答,因为我的主要问题是关于如何在IIS中执行此操作,而不是Apache。
到目前为止,我已将此部分删除,因为我不确定是否可以在不接收安全错误的情况下执行此操作。但是,我想知道的是如何在保持安全连接的同时执行上面的重定向?
显然anotherdomain.com
必须拥有有效的SSL证书,但即使domain.com
转发所有网页,You are not going to where you think you are going
也必须拥有有效的证书吗?
是否有两个证书可以防止出现任何错误,或者是否会出现{{1}}或类似内容的警告?
使用DNS执行此操作会更好吗? SSL可以与DNS一起使用吗?
答案 0 :(得分:1)
如何在我的web.config文件(IIS)中实现此目的?
请参阅以下内容:
使用IIS URL Rewrite的一个例子:
<rule name="Redirect example.net to example.com" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="example\.net$" negate="false" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" />
</rule>
这种类型的重定向是什么?
我不确定这是否有特定名称。我只称它为域重定向或30x重定向。
为了我自己的兴趣,我如何使用.htaccess文件执行此操作?您无需回答这个问题,因为我认为question无论如何都有正确答案,但只是想确认一下。
RewriteEngine on
RewriteCond %{HTTP_HOST} example.net$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
是否会有两个证书可以防止出现任何错误,或者是否会出现警告,说明你没有去过你认为自己要走的地方,或者说是这样的话?
是的,来自可信证书颁发机构的两个有效证书可以防止出现错误(只要页面上的所有内容都来自有效的https链接)。如果证书颁发机构提供SubjectAltName支持(也称为SAN或统一通信证书),您也可以使用单个证书。
如果您有两个有效证书且只有一个IP,则可以使用SNI,但是您需要了解not all web clients can use SNI - 所以要小心。 SNI的使用正在上升,我建议这成为首选方法,因为您不必处理在更新时应该在SAN / UCC上跟踪域的头痛问题。
使用DNS执行此操作会更好吗? SSL可以与DNS一起使用吗?
DNS与SSL无关。你不能通过DNS恶作剧欺骗SSL。