首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CNAME重定向到外部https url

CNAME重定向到外部https url
EN

Server Fault用户
提问于 2017-11-25 12:59:57
回答 1查看 10.1K关注 0票数 1

我有一个特定的设置。这确实是由于一些我无法处理的限制:有我拥有的域1和2,还有一个我不拥有的外部URL:

  1. start.com
  2. root.com
  3. http://target.com/my/site?a=1

我的目标是重定向http://sub.start.com (和https://..)。敬http://target.com/my/site?a=1。现在谈一谈限制:

  • 对于1.我可以更改dns条目。但是,我不能更改http服务器本身上的任何内容。而且,当前的设置使得每个http请求都被重定向到https。我也不能更改SSL证书,它不是通配符证书。
  • 对于2.基本上没有限制。我可以改变服务器上的一切。(lighttpd)我还可以通过让我们加密获得SSL证书。
  • 如前所述,这是一个我不拥有的外部URL。它还会将任何http请求重定向到https。

如何实现我的目标?到目前为止,我已经设置了以下内容:

工作的是将http://sub.root.com重定向到http://target.com/my/site?a=1。不起作用的是:

  1. https://sub.root.com重定向到http://target.com/my/site?a=1将返回火狐中的“不安全连接”消息。这是因为sub.root.com (尚未)包含在SSL证书中。我能理解这个问题。它很容易修复。
  2. 但是,我不能理解的是,来自http://sub.start.com的重定向不起作用。这将我重定向到https://sub.start.com,然后抱怨root.com的证书不包括sub.start.com。为什么会这样呢?我原以为CNAME条目会“忽略”start.com上的服务器。请求应该直接发送到root.com,不是吗?

还有,有什么方法来达到我的目标与这个确切的设置吗?我正在考虑将sub.start.com和sub.root.com包含到root.com的SSL证书中。这能解决所有的问题吗?

EN

回答 1

Server Fault用户

发布于 2017-11-25 13:30:33

我原以为CNAME条目会“忽略”start.com上的服务器。请求应该直接发送到root.com,不是吗?

错误期望,并在这里反复讨论:重定向是在HTTP协议上完成的。使用CNAMEA DNS记录解析后,请求将直接发送到IP地址,而不知道在DNS级别上发生了什么。CNAME不会进行HTTP重定向。

然后,请求将地址栏上的原始主机名作为HTTP1.1 Host头包含

代码语言:javascript
复制
GET / HTTP/1.1
Host: sub.start.com

web服务器将使用为该虚拟主机配置的内容进行应答。当浏览器将地址与SSL证书进行比较时,也会使用此主机名和仅此主机名。此比较是在发送标头之前和在任何重定向发生之前完成的。

将所有其他主机名配置为重定向到web服务器配置中的规范主机名,可以解决重定向问题。将所有主机名作为证书中的主题替代名称解决了用户正在获取的错误消息。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/885118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档