我有一个客户需要SSL来保护在线捐款,但我对如何/何时使用SSL的经验有限.
我知道在购买证书时我将该证书分配给整个域(确实是IP地址).有没有办法将加密隔离到网站的单个页面,或者我应该继续保护整个网站,即使只有一个页面需要它?
不确定这里的最佳做法.请指教.
SSL会产生相当多的额外处理时间.对于低带宽站点,SSL所需的额外处理并不明显.但对于Facebook,Twitter和Flickr等流量较大的网站来说,SSL造成的负担非常重,以至于他们不得不使用专用的SSL编码/解码硬件.
所以基本上是的,最小化使用SSL的页面数是有意义的.这就是为什么您经常看到银行网站只通过https保护实际帐户页面.主页/登陆页面通常是普通的旧http.
另一方面,除非你真的是像Twitter或Facebook或Gmail这样的网站,否则担心这是一个过早的优化.如果可以,首先要做到这一点.请注意此问题,并在您的网站最终获得大量流量时了解升级策略.
我的老板有一句话:
这是一个幸福的问题.首先解决没有足够用户的悲惨问题,然后您会很高兴遇到需要重构架构的问题.
您不使用SSL加密网站.你加密连接.因此,如果您为网络服务器启用了SSL,只需将https://添加到网址即可加密连接,网址指向的任何网页都会在传输过程中加密.
所以 https://www.website.com/index.html已加密,http://www.website.com/index.html未加密
我更喜欢永远不会发生这种情况所以我总是将加密的页面放在子域中,例如. https://secure.website.com/index.html
SSL附带了几个问题
1 /基本SSL证书仅对特定域名有效,因此如果证书是www.website.com并且有人跟随website.com的链接,则会显示警告.(见下面的注释)
2/SSL需要专用IP(您似乎拥有).这意味着如果您在共享平台上,可能会遇到问题.这是因为在HTTP中,主机或域名是标题的一部分,但标题是加密的,因此服务器无法知道将请求路由到何处.(见下面的注释)
听起来你真的需要使用熟悉电子商务和SSL的人的服务来帮助你.在知识和论坛反应有限的情况下驾驶雷区并不是最安全的事情.特别是如果发生金融交易,因为必须考虑其他要求,例如存储和使用信用卡号等财务信息的法律要求.
DC
附录:
对于捐款,请考虑Paypal.他们有一个完整的捐赠解决方案,更多的人会信任它,而不是自己的解决方案.
编辑2016:世界继续前进,上面的一些建议并不像最初的回答那样真实.
SSL不再需要专用IP地址.SNI(服务器名称指示)解决了这个问题,现在几乎是通用的(winXP上的IE8不支持它和一些手机).
您会发现大多数证书供应商现在在证书中包含主域名作为SAN(主题备用名称).也就是说,如果您获得www.website.moc的证书,他们将为www.website.moc和website.moc提供证书.不要假设这一点,请确保您的证书颁发机构指定它.