CNAME站点尝试通过HTTP而不是HTTPS加载文件

时间:2015-05-11 作者:mysticalone

主站点

https://www.ptacunits.com 
装载良好。我们有一个从上述域指向以下域的CNAME,

https://www.ptacfactoryparts.com
但是,页面源代码显示所有资产文件的HTTP。甚至是硬编码为HTTPs的Google字体

//fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic
是通过HTTP加载的,为什么?

2 个回复
最合适的回答,由SO网友:mysticalone 整理而成

问题是“WordPress HTTPS”插件。禁用它允许ptacfactoryparts。com通过HTTPS而不是HTTP加载资产文件。不知道为什么会覆盖链接。

SO网友:Bryan \'BJ\' Hoffpauir Jr.

The first and most important thing to know is that your SSL certificate is tied to a SPECIFIC Domain Name.

使用CNAME从其他域名创建别名将您的流量路由到其他URL

但除非您还为其他站点购买了SSL证书;为第二个设置apache配置(&A);在第二个站点上安装SSL证书后,大多数浏览器都会显示隐私警告,告诉用户他们位于加密页面上,但SSL证书中使用的域名与他们访问的域名不匹配。

CNAME本身除了将用户重定向到另一个域之外,什么都不做。Apache (or whatever web server you\'re using) still needs to be configured to serve both domains (typically via the vhosts, or virtual hosts, directive) if you want to use SSL for that 2nd domain.

I go into greater detail below, but the short version of this is that WordPress isn\'t designed to serve two domains from a single installation / database, so the easiest way for you to keep both domains is to simply create a redirect rule in your primary site\'s configuration that forwards any user who tries to access www.ptacfactoryparts.com to www.ptacunits.com

RECOMMENDED SOLUTION

设置访问www.ptacunits的转发用户。请访问www.ptacfactoryparts。com:

1、为ptacfactoryparts创建DNS记录。com,它们都指向与ptacunits相同的服务器。com(下面的示例中,可以找到有关DNS的详细信息herehere):

    (Sub)domain              Type     Target
    ptacunits.com            A        11.22.33.444
    www.ptacunits.com        CNAME    ptacunits.com
    www.ptacfactoryparts.com CNAME    ptacunits.com

2、添加apache重定向规则以路由来自ptacfactoryparts的所有流量。com到ptacunits。com公司(referenced from ServerFault):

<VirtualHost *:80>
    ServerName www.ptacfactoryparts.com
    RedirectPermanent / http://www.ptacunits.com/
    # optionally add an AccessLog directive for
    # logging the requests and do some statistics
</VirtualHost>
注意:如果您的web主机支持cPanel,则可以使用these instructions to configure cPanel to handle this redirection (尽管您仍然需要设置DNS)

这应该将所有流量转发到实际具有与其域名匹配的SSL证书的站点。

<小时>

HERE\'S THE DETAILED ANALYSIS

注意-即使您设法绕过了WordPress的设计限制;WooCommerce我在下面介绍,您可能会发现网站收到SEO penalties for duplicate content, 尽管如此the exact impact on SEO 排名has been debated, 它是probably not a good idea 拥有exact copies of your sites hosted at different URLs.

如果您完成了所有这些操作,并设置了第二个站点,并试图让WordPress从一个安装文件夹中为两个站点提供服务,则;数据库you may discover that WordPress doesn\'t like to do that much. 主要是因为it uses the full URL inside of your posts and the core design of the system database configuration assumes a single base url.

通过移动到WordPress多站点安装,您可能可以完成您想要的内容(从同一组帖子、产品和主题启动两个URL)。这样,您就可以通过在一个地方进行管理来共享想要共享的内容。请记住,多部位是一种比基础WP和WooCommerce requires some specific configuration just to get working on a multisite install.

来自官方支持论坛的帖子似乎表明,按照目前的设计,即使您在多站点安装上运行它,每个站点都将是系统的独立安装,这意味着您必须将每个站点管理为单独的存储,即使它们看起来相同。

理论上,您可以在同一个数据库中设置第二个WordPress站点,但可以使用其他URL并手动同步这两个站点之间的所有内容、产品、主题等(或编写脚本来实现),而无需使用多站点选项,但它们仍然是两个不同URL上的两个不同站点,具有两组不同的内容和事务,这听起来不像你的目标。

以下是我浏览时看到的内容https://www.ptacfactoryparts.com:

Privacy Warning Displayed by Google Chrome Browser

当我单击地址栏中最左侧的图标查看SSL详细信息时,我看到两个您需要解决的项目:

Problems with DNS of URL not matching DNS of SSL Certificate & Obsolete encryption technology used in your certificate

1. [CRITICAL] SSL证书上的名称与您输入的URL不匹配(您必须获得新的SSL证书或使用CloudFlare之类的服务,该服务为任何域提供免费SSL证书),以确保两个站点在此处显示正确的“一切正常”SSL通知。这是more info from Google on this specific issue. 如果单击Chrome中的“证书详细信息”链接,您将看到以下突出显示问题的内容:

Certificate Details in Google Chrome

2. [NOT CRITICAL] Google Chrome表明您的SSL证书是用过时的技术加密的。有一个detailed discussion on what this means and how to address it over at the Information Security Stack Exchange 地点我建议修复此问题,但如果检测到此问题,Chrome(不确定其他浏览器)似乎仍将显示绿色图标,您的主站点没有相同的断开ssl地址栏显示(请参阅下面的最终屏幕截图)就证明了这一点

Proper DNS matching one on SSL Certificate with green all is good icon

假设您为第二个站点保护一个单独的SSL证书,在解决第二个主要问题之前,您还没有完全完成:您正试图在两个不同于单个apache站点配置的情况下为两个单独的站点提供服务(我假设您在这里使用apache作为web服务器,但如果您使用nginx,则同样适用,尽管解决方案会有所不同)。

要解决这部分问题,您必须通过apache的vhost指令设置另一个站点,该指令链接到与您的另一个站点相同的内容目录,以便您看起来有两个完全安全的站点,并提供相同的内容。CNAME映射本身无法工作,因为(至少)您的CNAME规则不会更改WordPress在主站点上呈现的实际内容中引用资产的方式。您可以在源代码中看到URL中有对原始域的引用。

references to the original domain in the URL

此外,您似乎正在使用WooCommerce和其他一些主题定制,因此您需要进行一些特定的设置更新,以便协调各种主题、插件和WP基本配置之间的ssl实现,您可以在this post over on the Pro Webmasters StackExchange site.

同样,我建议您选择上面我推荐的简单路线。如果我错过了一些重要的事情,请在下面进行评论,我很乐意与您一起完成细节。

结束