我听说http不好。 例如我做了一个基本的HTTP身份validation,一些黑客可以通过snooping找出密码(我不知道这是什么)。
所以我被build议安装HTTPS。
我怎样才能做到这一点 ?
apt-get安装https或SSL? 有什么不同 ?
我有我自己的专用服务器。
这个Apache FAQ应该是有用的阅读和起点。
您也可以从Wikipedia HTTPS页面开始。
还有一个Linux Journal Flashvideo,用于设置https服务器 。
你需要为apache安装mod_ssl才能获得SSL支持。 如果它不是已经包装在httpd中,你将不得不在apt中寻找一个mod_ssl(对不起,我没有Ubuntu的testing,但我认为这只是一个“apt-get mod_ssl”)。
如果您只是担心encryptionstream量,所以人们无法挑选明文login凭据,我会推荐一个自签名证书作为churnd陈述。
如果您的服务器托pipe,请与您的主机检查提供签名的SSL证书。 这些成本$$,但需要一个有效的安全连接。 您可以自行推出,但您不是有效的证书颁发机构,因此访问您的网站的用户将会收到SSL证书未由有效CA签名的警告。 如果他们知道你或者只是为了你自己的用途,那不是什么大事,因为安全性大致相同……只是相信谁来自安全。 这是一个很好的如何滚动你自己的 。
你的问题:
SSL是一种build立安全连接的方式。 stream量被encryption,只有发送者和接收者才能看到实际的信息。 HTTPS是HTTP的SSL。 端点同意encryption,除了服务器和客户端以外,没有其他人可以看到信息。 SSL还可以validation,使用(希望)不可伪造的证书,certificate一方是他们自称是谁。
基本身份validation具有编码的密码。 这意味着它经历了一个简单的编码转换(Base64),很容易反转,看到真实的数据。 如果有人可以访问您的networking,或者实际上您的服务器和客户端之间的任何networking,他们可以看到基本networkingstream量(俚语是窥探或嗅探),并可以轻松查看用户名和密码。 如果您使用HTTPS,则这是encryption的,无法看到。
要使https工作,您需要服务器中的https代码(来自apt-get)和证书。 证书告诉人们谁是服务器(上面的authentication)。 你可以购买一个证书,在这个证书中,他们会问你一些信息来certificate一些公司或者其他什么,然后卖给你。 或者您可以免费创build一个自签名证书。
为了让“你是谁”身份validation工作的一部分,他们有一个“信任networking”。 我可以说我是任何人,但我怎么能certificate这一点? 那么,如果你购买证书,发行人说'我相信这个人是google.com'。 而你的networking浏览器相信大发行者,所以他们相信他们说你是google.com。 但是您的自签名证书将不会被任何人信任。 所以你的浏览器会抱怨。 如果这是内部使用的Intranet,你可以告诉他们忽略它。 互联网用户将很难说服,你可能最终只需要买一个。
从计算的angular度来看,这并非完全不受限制。 任何httpsstream量都需要encryption。 这需要CPU。 此外,您的内容本质上是不可caching的,这意味着更多的命中您的服务器。 更改后检查您的服务器资源限制。
此外,你没有问,但基本身份validation不是最好的身份validation。 除了绝对需要encryption外,没有简单的方法来注销。