轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端

概要说明


CAS要求,必须使用HTTPS的服务,否则就只等实现登录,无法实现单点登录。
科普下HTTPS,网站有HTTP和HTTPS两种协议。HTTP是浏览器到网站之间是明文传输,比如你输入帐号名和密码点击登录,那帐号名和密码在中间传输过程中有泄漏的风险。HTTPS是浏览器和网站之间加密传输,使用的非对称加密方式,所以非常安全。目前各大网站的登录基本都是用了HTTPS服务。

在上一篇文章《轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER 服务端》中,我们搭建了HTTP的CAS SERVER,在登录画面中有2个错误提示,其中一个就是使用了非加密协议的错误。本文就是来解决这个问题的。

 

操作步骤


1. 设置域名
SSL证书是基于域名的,如果您有自己的域名,请将域名指向到您的测试服务器。如果您没有自己的域名,那自己模拟个域名吧,暂且使用 cas.example.org 。在测试的电脑上,设置hosts将该域名指向到当前服务器。具体设置方式如下:

打开文件C:\Windows\System32\drivers\etc\hosts添加如下行

127.0.0.1    cas.example.org


2. 生成SSL证书
如果是正式对外的话,需要购买正式的SSL证书,阿里云和腾讯云都有。本文只是用于测试,只需要本地生成个SSL证书即可。购买的证书和自己生成证书的差别么,其一没那么的安全,其二浏览器不识别,访问时会有安全警告。

生成证书的步骤是

d:\
cd 
D:\casoverlay
keytool -genkey -alias cas -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -keystore casexample.keystore -dname "CN=http://cas.example.org/,OU=casexample.com,O=casexample,L=casexample,ST=casexample,C=CN" -deststoretype pkcs12

 

3. Tomcat开启HTTPS服务,导入证书
Tomcat默认情况下是打开HTTP服务的,HTTPS的服务是需要手动开发的,具体打开步骤如下:

打开文件D:\casoverlay\apache-tomcat-8.5.31\conf\server.xml,增加如下配置

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
  <SSLHostConfig>
    <Certificate certificateKeystoreFile="D:/casoverlay/casexample.keystore"
      certificateKeystorePassword="changeit"
      type="RSA" />
  </SSLHostConfig>
</Connector>

 

4. 启动Tomcat

执行D:\casoverlay\apache-tomcat-8.5.31\bin\startup.bat

 

5. 访问CAS服务并登录

https://cas.example.org:8443/cas

可以看到安全的错误提示已经没有了
输入帐号名和密码:casuser/Mellon

恭喜您,HTTPS的CAS服务器已经搭建好了

 

最后,大家想更多CAS了解的话,可以来[CAS中文文档站点](http://www.cassso-china.cn)(http://www.cassso-china.cn)来瞅瞅。

posted @ 2018-06-23 23:20  四代土豆2  阅读(6177)  评论(2编辑  收藏  举报