zhouxin / pubhg
Unlimited private code, issue and wiki hosts.
Unlimited private code, issue and wiki hosts.
= HTTPS 的合法证书申请、部署及既有项目修改 =
== Why https ==
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。
== https的合法证书申请 ==
若果使用自己生成的证书,浏览器会提示警告信息,用hg客户端也会提示警告信息,只能通过添加--insecure参数使用。
合法的证书申请,一般申请需要收费,比如icbc使用的 http://www.verisign.com/, 或者最大的域名服务商 http://godaddy.com; 免费证书申请可以通过 http://www.startssl.com/ 进行。 startssl 会为用户生成公钥(一般为crt文件)、私钥两个文件(一般为key文件)。为了解决ff浏览器的系人问题,还需要将startssl的ca.pam文件导入公钥文件中。 combian the crt and chain file
== nginx服务器部署 ==
http://nginx.org/en/docs/http/configuring_https_servers.html
{{{ listen 443; server_name pubhg.com; access_log /var/log/nginx/pubhg-ssl.access.log;
root /var/www;
ssl on;
ssl_certificate pubhg/pubhg.com.chained.crt;
ssl_certificate_key pubhg/pubhg.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}}}
== 既有项目修改 ==
现阶段合法证书之包含了对gaobo.net/trac.gaobo.net两个域名的认证,为了消除不信任证书的提示,系统code.gaobo.net 会自动转向至 gaobo.net/code/ 。需要对.hg/hgrc文件进行修改,将path路径修改如下:。
{{{ [paths] default = http://code.pubhg.com/gseducation/dev }}}
在linux下可以应用以下命令:
{{{ find -name hgrc|xargs sed -i s/https/http/ find -name hgrc|xargs sed -i s/gaobo.net/pubhg.com/ }}}
为了在使用 hg 时,没有警告提示,修改 /etc/mercurial/hgrc ,加入:
{{{ [web]
cacerts = /etc/ssl/certs/ca-certificates.crt
}}}
gaobo created at 12 years ago