HTTP与HTTPS有什么不同以及SSL实际发生了什么?

问题描述:

我曾问一个问题,而回约What is the difference between requiring an SSL cert and accepting an SSL cert?HTTP与HTTPS有什么不同以及SSL实际发生了什么?

对于清理两者之间的差异在大多数情况下,但是我仍然就这个话题有点不清楚。

SSL Settings

我对这个形象的几个问题:

  • 要求SSL - 这究竟从客户端的角度来看呢?这是否意味着为了让网页出现,服务器需要有SSL证书?这种加密是如何工作的?
  • 客户端证书 - 我知道这一切都来自客户端,但是作为一个网络服务器,它会发出什么?什么是您需要客户证书的特定情况?

也看完这篇文章:Why SSL? The Purpose of using SSL Certificates ,虽然我确实有需要SSL和忽略客户证书特定页面上的设置,我没有看到下面的变化到地址栏:

address bar

  • 为什么我看不到?为了得到该工作需要我做什么,因为这让我相信真的是没有什么更安全的使用HTTPS而不是HTTP

,我质疑这是因为最近原因,当试图HTML动态加载到我的网站,我是做使用JavaScript和HTTPS的URL的加载,但我是越来越域错误,称这是不是来自同一个产地来了...

http://www.example.com & https://www.example.com - 我没有得到为什么我会得到一个说法不一样的错误?更不用说我还使用HTTPS的页面(这是地址栏中的内容)。与此同时,改变HTTP链接似乎解决了这个错误。

+0

你似乎在这里混淆了许多问题。客户证书可能根本不符合您的利益;你知道你是否需要这个。我不知道你想用Paypal截图表达什么。最后但并非最不重要的是,你*实际*似乎有一个问题是CORS,而不是SSL。 – deceze

+0

@deceze贝宝屏幕截图的目的是因为我没有看到地址栏中的绿色栏 - 我看到一个绿色的锁,但我不知道它是否是同一件事。我可以看到所有的证书信息,但我不确定是否有什么我没有做的,我应该做的。 – Adjit

+0

绿色条表示存在*扩展验证证书*。这仅仅是一张证书,证书/网站背后的公司已经得到了更广泛的审查,证书中的信息(公司名称,地址等)更加值得信赖。你花更多的钱来获得这样的证书。它与您可以在Web服务器中执行的任何设置无关。 – deceze

要求SSL - 从客户的角度来看,这意味着什么?

documentation有点不清楚。它要么意味着:

  • 当一个普通的HTTP请求向服务器发出,它回应说:“你想要的资源在这个HTTPS URL,去那里得到它”
  • 它关闭纯粹的HTTP支持

这很容易测试,如果你有一个IIS服务器支持SSL(我不),我会认为这是第一个选项。


客户端证书 - 我得到这一切来自于客户端,但是它的东西,我作为一个Web服务器,会发出?什么是您需要客户证书的特定情况?

一般情况下,您将以“运行Web服务器的人员,但可能还有其他需要客户端证书的系统”的能力颁发它们。

您使用这些来代替用户名/密码。


,而我有需要SSL和忽略客户证书特定页面上的设置,我没有看到下面的变化到地址栏

这是很难说的问题是当你没有向我们展示你在自己的网站上看到的内容时。


http://www.example.com & https://www.example.com - 我不知道为什么我会得到一个错误说不是同一产地?

起源的规则是相当严格的。

  • 主机名必须是相同的(这是)
  • 的端口必须是相同的(它不是,则有80和443,这对于HTTP和HTTPS的默认值)
  • 的方案必须相同(HTTP和HTTPS不相同)

您应该通过在任何地方使用SSL来缓解这种情况。不要对一些事情使用普通的HTTP,对其他事物使用HTTPS。

有可能缺少来自浏览器的连接是安全的通知(如前一节所述)是由于您通过HTTP将其他资源加载到页面中,但没有测试用例很难说明。

+0

这太棒了,谢谢!回答了我的大部分问题,并解决了地址栏问题。我设置了它,以便实际登录到网站和结帐他们需要使用HTTPS,否则他们会得到一个403禁止访问错误 – Adjit