1.单点登录服务器CAS应用配置于tomcat下。

  1)key生成: 

keytool -genkey -alias mycas -keyalg RSA -keysize 2048 -keystore /mnt/disk1/keys/mycas.keystore

keytool -export -file /mnt/disk1/keys/mycas.crt -alias mycas -keystore /mnt/disk1/keys/mycas.keystore

  2)CAS发布tomcat中server.xml中配置

 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/mnt/disk1/keys/mycas.keystore" keystorePass="123456" />

  3)如果不使用集群,通过java端通过CAS client直接连接此CAS服务器,则需要在jdk中导入相应的证书文件:

keytool -delete -alias mycas -keystore /usr/local/jdk/jre/lib/security/cacerts                                                  //删除证书 
          keytool -import -keystore /usr/local/jdk/jre/lib/security/cacerts -file /mnt/disk1/keys/mycas.crt -alias myca    //导入证书

2.nginx负载多个tomcat

  1)nginx ssl证书生成 

      cd /mnt/disk1/nginxkeys 进入证书存储文件夹
    openssl genrsa -des3 -out server.key 1024          创建服务器私钥
    openssl req -new -key server.key -out server.csr        创建证书签名请求(CSR)

    [   

      Country Name (2 letter code) [GB]:CN
      State or Province Name (full name) [Berkshire]:BJ
      Locality Name (eg, city) [Newbury]:BJ
          Organization Name (eg, company) [My Company Ltd]:test
      Organizational Unit Name (eg, section) []:test
      Common Name (eg, your name or your server's hostname) []:cas112.test.com(在使用casclient时候必须在这里填入域名,否则报错)
      Email Address []:l@test.com

    ]
    cp server.key server.key.org                  在加载SSL支持的Nginx并使用上述私钥时除去必须的口令
    openssl rsa -in server.key.org -out server.key           在加载SSL支持的Nginx并使用上述私钥时除去必须的口令           
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt    使用上述私钥导出CSR,CRT签名证书: 

  2)nginx https接口配置

    upstream cas_server_ssl {
#ip_hash;
server localhost:8443;
}
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /mnt/disk1/nginx_keys/server.crt;
ssl_certificate_key /mnt/disk1/nginx_keys/server.key;
location / {
root html;
index index.html index.htm;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://cas_server_ssl;
}
}

3.客户端配置

  同跟不使用nginx集群配置类似,将server.crt导入客户端jdk。

  keytool -delete -alias nginx_cas_crt -keystore /usr/local/jdk/jre/lib/security/cacerts                                                   //删除证书 
     keytool -import -keystore "$JAVA_HOME/jre/lib/security/cacerts" -file /mnt/disk1/nginx_keys/server.crt -alias nginx_cas_crt     //导入证书

linux 下nginx 集群CAS单点登录实现的更多相关文章

  1. Linux下Ganglia集群监控安装、配置笔记

    http://www.blogjava.net/henry14/archive/2011/12/17/ganglia.html 枪声依旧 Linux下Ganglia集群监控安装.配置笔记 Gangli ...

  2. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  3. springcloud微服务基于redis集群的单点登录

    springcloud微服务基于redis集群的单点登录 yls 2019-9-23 简介 本文介绍微服务架构中如何实现单点登录功能 创建三个服务: 操作redis集群的服务,用于多个服务之间共享数据 ...

  4. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  5. Nginx --Windows下和Linux下搭建集群小记

    nginx: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 特点: 反向代理 负载均衡 动静分离... 反向代理 : 先来了解正向代理:需要我们用户 ...

  6. Linux下Hadoop集群环境的安装配置

    1)安装Ubuntu或其他Linux系统: a)为减少错误,集群中的主机最好安装同一版本的Linux系统,我的是Ubuntu12.04. b)每个主机的登陆用户名也最好都一样,比如都是hadoop,不 ...

  7. Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)

    一.应用场景介绍 本文主要是介绍Redis集群在Linux环境下的安装讲解,其中主要包括在联网的Linux环境和脱机的Linux环境下是如何安装的.因为大多数时候,公司的生产环境是在内网环境下,无外网 ...

  8. Linux 下redis 集群搭建练习

    Redis集群 学习参考:https://blog.csdn.net/jeffleo/article/details/54848428https://my.oschina.net/iyinghui/b ...

  9. Linux下solr集群搭建

    第一步:创建四个tomcat实例.每个tomcat运行在不同的端口.8180.8280.8380.8480 第二步:部署solr的war包.把单机版的solr工程复制到集群中的tomcat中. 第三步 ...

随机推荐

  1. DeconvNet 论文阅读理解

    学习语义分割反卷积网络DeconvNet 一点想法:反卷积网络就是基于FCN改进了上采样层,用到了反池化和反卷积操作,参数量2亿多,非常大,segnet把两个全连接层去掉,效果也能很好,显著减少了参数 ...

  2. js 对日期处理

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  3. python获取list列表随机数据

    第一种方法(推荐)适用于随机取一个值, 返回一个值import randomlist1 = ['佛山', '南宁', '北海', '杭州', '南昌', '厦门', '温州']a = random.c ...

  4. vue2.0 子组件和父组件之间的传值(转载)

    Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述,本篇文章主要来探讨一下Vue子父组件通信的问题 首先我们先搭好开发环境,我们首先得装好git和npm这两个工具(如果有不清楚的同学 ...

  5. vue組件傳值及vuex的使用

    https://blog.csdn.net/u011175079/article/details/79161029 https://blog.csdn.net/sisi_chen/article/de ...

  6. jsp篇 之 jsp中的注释

    Jsp中的注释: 第一种: <!-- html/xml中的注释方式 --> 特点: 1.用户在浏览器中右键查看源代码 [能] 看到这个注释. 2.在服务器端,这个jsp页面被翻译成的jav ...

  7. Time travel HDU - 4418(高斯消元)

    Agent K is one of the greatest agents in a secret organization called Men in Black. Once he needs to ...

  8. c语言中堆栈和静态空间

    什么是堆空间.栈空间与静态空间 堆空间:由程序员自己分配空间,如malloc需要指定分配多少个多大的字节空间,不用的时候需要自己释放 栈空间:栈空间是由系统自动分配与释放,如int,char等大小都已 ...

  9. js的7种类型

    众所周知,js有7种数据类型 1.  null 2. undefined 3. boolean 4. number 5. string 6. 引用类型(object.array.function) 7 ...

  10. 神经网络6_CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...