繁体   English   中英

在1and1上设置免费的GeoTrust SSL证书会怎样?

[英]What happens when you setup the free GeoTrust SSL certificate on 1and1?

1and1 UK托管为您的网站提供了免费的GeoTrust SSL证书。

但是我不想破坏我现有的站点,所以我想事先知道设置它时会发生什么。

目前,我已经像这样设置了我的网站空间:

/www  <-- www.foo.com
 +-- /images
 +-- /css
/test <-- test.foo.com
 +-- /images
 +-- /css

我只想要www.foo.com网站的SSL证书。

该文档将告诉您如何设置证书-但您执行该操作时不会发生什么。

它像创建一个名为/ www-ssl的新顶级目录一样容易吗? 如果是这样,我可以将网站复制到那里并使用它。

谢谢。

有趣的是,最初的问题实际上是我最近两天刚完成的问题。

如果您仅使用1and1的网站空间/域(而不是服务器),那么它就很简单(它不会更改文件,不会自动使站点成为SSL)。 它将继续作为HTTP服务器运行,直到您开始编辑.htaccess文件以重定向到HTTPS。

您应该意识到:如果您打算使用1&1的CDN并需要SSL,那么他们给您的免费CDN将无法使用。 (我猜这取决于在区域记录中创建CNAME的自动化过程是如何相互冲突的。这也是偶然地为什么您需要确保使用1and1的NS以便它们能够控制区域记录来进行更改的原因设置CDN或Geotrusts SSL证书)

您要么必须购买带有SSL证书的CDN软件包(价格昂贵),要么您可以做我已经做过的事情:

  1. 为您的服务器设置免费的Geotrust SSL证书
  2. 关闭/删除 1and1 CDN(如果已设置)
  3. 访问https://www.cloudflare.com并注册一个免费帐户,只有在服务器上运行了Geotrust证书后才进行设置,因为这需要将您的域NS更改为1and1管理面板中的cloudflare,这会导致1and1使用的任何自动子域创建问题)。

使用1and1 CDN和SSL以及SSL和Cloudflare之间的区别是后者的版本更便宜(它使用免费的版本和您已经拥有的版本,并且有更多可用的CDN选项供您使用。)而您唯一失去的就是Mirage缓存(用于移动设备的图像优化,处于beta中)您当然可以付出cloudflare来获得该选项(以及其他功能),但是老实说这是一个很小的损失。

Geotrust SSLSSL Starter证书之间有区别。

Geotrust SSL证书将同时处理foo.comwww.foo.com 入门SSL只会处理其中一个,不能同时处理两者。

如果可以,请设置您的GeoTrust SSL证书以同时处理www.foo.comfoo.com

获得证书后,只需将以下内容添加到.htaccess文件中(假定foo.com流量也是www.foo.com流量)

<If "%{REQUEST_SCHEME} =='http' && (-f %{REQUEST_FILENAME} || -d %{REQUEST_FILENAME})">
Redirect permanent "/" "Https://foo.com/"
</If>    

<ElseIf "(%{HTTP_HOST} == 'foo.com') && (-f %{REQUEST_FILENAME} || -d %{REQUEST_FILENAME})">
Redirect permanent "/" "Https://www.foo.com/"
</ElseIf>

可以使用它代替apache> = 2.4中的mod_rewrite

使用REQUEST_SCHEME是因为服务器未使用FULL(Strict)方法,在该方法中将服务器本身设置为在HTTPS中运行。 某些mod_rewrite规则实际上会导致无限*重定向循环。 (*直到递归导致服务器超时)

尽管可以减少这种情况,从而减少重定向,但是如果您打算在使用cloudflare时进一步加强SSL,则很可能最终会使用HTTP严格传输安全性(HSTS),并且在将HTTP升级为HTTPS方面非常严格。 下面的伪代码显示了所需的海拔高度( 由于此处允许使用有限的链接,因此必须这样做 ):

http(域)> 301> https(域)> 301> https(sub + domain)

我不太确定HSTS协议将如何处理我最初打算的失败,即未找到文件/目录的错误,从而创建了一条404消息来破坏其严格的重定向。

(如果使用此方法,请清理404消息的处理方式,因为它可能不在HTTPS内。)

至于test.foo.com 测试文件夹。 您可以像对待已经对待的那样,将其视为SSL证书之外的文件,而不用www文件夹的.htaccess进行处理。

If /当您开始设置HSTS时 ,您将希望在If / ElseIf语句中添加标题。

<If "%{REQUEST_SCHEME} =='http' && (-f %{REQUEST_FILENAME} || -d %{REQUEST_FILENAME})">
Redirect permanent "/" "Https://foo.com/"
Header set Strict-Transport-Security "max-age=2592000; includeSubDomains; preload" env=HTTPS  
</If>

<ElseIf "(%{HTTP_HOST} == 'foo.com') && (-f %{REQUEST_FILENAME} || -d %{REQUEST_FILENAME})"> 
Redirect permanent "/" "Https://www.foo.com/" 
Header set Strict-Transport-Security "max-age=2592000; includeSubDomains; preload" env=HTTPS   
</ElseIf>

希望对您有所帮助,

编辑为了澄清起见,问题似乎更多是关于TLS如何工作,而不是如何解决。

  • TLS证书是网站和浏览器之间的协议,该协议使用公共共享机密在彼此之间发送和接收加密的通信。 不是更改网站内容或网站数据的任何内容。 它只是一个更安全的运输系统。

想象一下,您正在尝试向现实世界中的客户发送杂志,然后将这些杂志贴在薄薄的塑料包装纸上,地址在角落,可以,但是可以,但是邮递员和整个邮政工作人员而且当时进入邮局的任何人都可以看到您正在张贴的内容以及您的朋友正在收到的杂志。

因此,您需要更新杂志,然后将杂志放在厚厚的深色纸袋中,并用胶带将其包裹,这意味着运输中的任何人都不能查看该杂志,也没人知道纸袋中包含什么杂志。 这与TLS对网站的作用非常类似,它不会更改网站的内容(杂志),但可以确保此内容的嗅探和阅读变得非常困难。

通过说您想加密某些网站但不想加密其他网站,这似乎有些奇怪,因为肯定所有客户(在上述情况下)都希望杂志以厚纸袋而不是透明的塑料包装纸包装。 由于不涉及成本,因此仅加密您的某些站点或数据几乎没有收益。

历史原始答案:

可以为任何站点启用TLS证书,但这不是必需的,除非您告知站点要求它。 您可以做的是为您的帐户设置证书(这将覆盖该帐户上的所有域,包括子域,除非有避免子域的特定设置选项),然后使用htaccess告诉服务器来阐明您的操作,因此您可以告诉服务器:

RewriteEngine On
rewriteCond %{HTTP_HOST} ^www.(.*)$
rewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]

因此,这将告诉您的服务器,如果访问了www.site.whatever则可以使用HTTPS...。如果您确实需要,可以使用类似的反规则来防止使用受保护的TLS端口的非www子域,但实际上,您为什么不希望对所有Web数据使用TLS加密?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM