配置webgate拦截跳转到ldap登录页实现单点登录
前提是企业已经做好LDAP系统,子系统已经实现自己的登录逻辑,且子系统只需要配置好webgate以及相关配置,就能对接LDAP单点登录。(对于LDAP也就了解,这里不做LDAP的详细搭建)
了解一下通过LDAP登录的原理
![image-20190413163116319](/Users/magicyou/Library/Application Support/typora-user-images/image-20190413163116319.png)
• 单点集成,需要在应用系统服务器配置Apache服务器,对应用系统做反向代理,并在其上安装用于拦截Http请求的插件Webgate。
• OAM和插件通信,实现对应用系统的单点集成,此处需要应用系统改造现有登陆逻辑,接收OAM认证后传递的用户信息。
• 集成LDAP单点的同时,需实现逃生机制,即可实现在应用系统本地登录认证。
前面说过,我们的系统是在lnmp运行,所以Apache在这里作为中介,转到nginx的端口上的应用。
准备 1. 增加用户和组 User appuser
Group appgrp
其他
apache安装路径 /app/soft/apache/
webgate目标安装路径 /app/soft/webgate/
本机名 xxxx
本机ip 10.0.XX.X
按照集团给的配置信息(重要):
Name
Value
WebGate ID
XXX_WebGate
Password for WebGate
123456
Access Server ID
acc_id_oam
Host name where an Access Server is installed
node2
Port number the Access Server listens to
6000
安装apache
安装apache
尽可能不要用centos带的那个Apache,自己再装一个版本最好是2.2,因为老系统用的就是这个版本(毕竟webgate版本没有升级),防止莫名错误,低调行事。
修改httpd.conf 如下几项
1 2 3 4 5 6 7 8 User appuser Group appgrp Listen 9008 ServerName 10.0.XX.X:9008
/etc/hosts添加
10.0.XX.X hostname
安装webgate 添加hosts文件
在j2ee系统安装apache的服务器用root用户登录服务器,添加hosts文件
添加如下
1 2 10.0.59.21 node1 10.0.59.22 node2
安装依赖包等
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 cd /lib64/ ln -s /usr/lib64/libstdc++.so.6 . ln -s /usr/lib64/libstdc++.so.5 . 执行安装 安装组件 yum install libXau-1.0.6-4.el6.x86_64 yum install libXau-1.0.6-4.el6.i686 yum install libXdmcp-1.1.1-3.el6.x86_64 yum install libXdmcp-1.1.1-3.el6.i686 yum install libxcb-1.9.1-2.el6.x86_64 yum install libxcb-1.9.1-2.el6.i686 yum install libX11-1.6.0-2.2.el6.x86_64 yum install libX11-1.6.0-2.2.el6.i686 yum install libXext-1.3.2-2.1.el6.x86_64 yum install libXext-1.3.2-2.1.el6.i686 yum install libXp-1.0.2-2.1.el6.x86_64 yum install libXp-1.0.2-2.1.el6.i686 yum install libXi-1.7.2-2.2.el6.x86_64 yum install libXi-1.7.2-2.2.el6.i686 yum install libXtst-1.2.2-2.1.el6.x86_64 yum install libXtst-1.2.2-2.1.el6.i686
命令行安装(使用appuser用户安装)
1 2 cd /home/appuser/software ./Oracle_Access_Manager10_1_4_3_0_linux64_APACHE22_WebGate
开始了漫长的选择题以及填空题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [appuser@xxxx software]$ ./Oracle_Access_Manager10_1_4_3_0_linux64_APACHE22_WebGate InstallShield Wizard ���ڳ�ʼ�� InstallShield Wizard... ������ Java(tm) �����... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ............................. ��������[appuser@xxxx software]
莫名其妙,直接退出了,可能是如下问题,尝试解决。
运行到此直接退出,无日志输出,使用如下命令可以输入日志
1 ./Oracle_Access_Manager10_1_4_3_0_linux64_APACHE22_WebGate -is:log tmp.log
日志内容如下,最后报错信息:
1 ERROR: Invalid bundled JVM. Missing 'jvm' file错误:无效的捆绑JVM。失踪的jvm文件
需要安装glibc.i686,glibc.x86_64已安装,但webgate依赖32位glibc
安装命令如下,使用root身份,两个包需要同时安装。
1 rpm -ivh glibc-2.12-1.80.el6.i686.rpm nss-softokn-freebl-3.12.9-11.el6.i686.rpm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [appuser@xxxx software]$ ./Oracle_Access_Manager10_1_4_3_0_linux64_APACHE22_WebGate InstallShield Wizard ���ڳ�ʼ�� InstallShield Wizard... ������ Java(tm) �����... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ................................... ............................. �������� InstallShield Wizard... ------------------------------------------------------------------------------- 欢迎使用 Oracle Access Manager 10.1.4.3.0 WebGate 的 InstallShield 向导 InstallShield 向导将在计算机上安装 Oracle Access Manager 10.1.4.3.0 WebGate。 要继续,选择“下一步”。 Oracle Access Manager 10.1.4.3.0 WebGate Oracle 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1
填1,下一步
1 2 3 4 5 6 7 8 9 10 您即将安装的产品的所有者必须是运行 Web 服务器时使用的同一个用户身份。大多数时候, 运行 Web 服务器所使用的身份是 `root' 或 `nobody'。查找所有者身份的快捷方式是对服务器进程执行 `ps'操作。 输入运行 Web 服务器时所使用身份的用户名 [nobody] appuser 为上述用户名输入组 [nobody] appgrp 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1
如下: 用户名 appuser 用户组 appgrp 填1,下一步
1 2 3 4 5 6 7 请指定 Oracle Access Manager 10.1.4.3.0 WebGate 的安装目录。 请指定目录名称或按 Enter 键 [/opt/netpoint/webgate] /app/soft/webgate 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1
填写webgate安装目录,/app/soft/webgate 填1,下一步
1 2 3 4 5 6 7 8 9 10 Oracle Access Manager 10.1.4.3.0 WebGate 将安装在以下位置: /app/soft/webgate4/access 总大小: 133.4 MB 请记下 Oracle Access Manager 10.1.4.3.0 WebGate 安装目录: /app/soft/webgate4/access, 因为您将来需要引用它。 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1
填1,下一步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 GCC 运行时库的位置 []: /lib64 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1 正在安装 Oracle Access Manager 10.1.4.3.0 WebGate... 请等待。 |-----------|-----------|-----------|------------| 0% 25% 50% 75% 100% |||||||||||||||||||||||||||||||||||||||||||||||||| 正在创建卸载程序... 正在解压缩语言包。请稍候... WebGate 配置 WebGate 配置 正在更改文件所有权和权限... ------------------------------------------------------------------------------- 指定传输安全模式 [X] 1 - 公开模式: 不加密 [ ] 2 - 简单模式: 通过 SSL 和 Oracle 提供的公共密钥证书进行加密 [ ] 3 - 证书模式: 通过 SSL 和外部 CA 提供的公钥证书进行加密 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1
填1,下一步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 请提供 WebGate ID, 主机名和 WebGate 连接的端口号。 必须对安装的每个 WebGate 使用唯一的 ID。 WebGate ID [XXX_WebGate] WebGate 的口令6 [*******] Access Server ID [acc_id_oam] 在其中安装 Access Server 的主机名 [node2] Access Server 监听的端口号 [6000] 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1
按照集团给的配置填写,例:
Name
Value
WebGate ID
XXX_WebGate
Password for WebGate
123456
Access Server ID
acc_id_oam
Host name where an Access Server is installed
node2
Port number the Access Server listens to
6000
填1,下一步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 正在配置 WebGate... ------------------------------------------------------------------------------- Oracle Access Manager 10.1.4.3.0 WebGate 安装在 Oracle Access Manager 10.1.4.3.0 WebGate 安装目录下。要使用 Oracle Access Manager 10.1.4.3.0 WebGate 模块, 可通过修改 Web 服务器目录中的配置来配置 Web 服务器。Oracle 可以自动为您更新配置。您也可以手动更新。 是否继续自动更新 "httpd.conf"? [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1
填1,下一步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 ------------------------------------------------------------------------------- 请输入 Web 服务器配置目录的 httpd.conf 的绝对路径。 (如 "/export/apache/conf/httpd.conf") [] /app/soft/apache/conf/httpd.conf 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1 正在更新 Web 服务器配置... 出现错误。请重试。 WebGate already exists in your httpd.conf. EditHttpConf Error. Unable to automatically update /app/soft/apache/conf/httpd.conf. No changes have been made to /app/soft/apache/conf/httpd.conf. ------------------------------------------------------------------------------- Oracle Access Manager 10.1.4.3.0 WebGate 安装在 Oracle Access Manager 10.1.4.3.0 WebGate 安装目录下。要使用 Oracle Access Manager 10.1.4.3.0 WebGate 模块, 可通过修改 Web 服务器目录中的配置来配置 Web 服务器。Oracle 可以自动为您更新配置。您也可以手动更新。 是否继续自动更新 "httpd.conf"? [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 4 ------------------------------------------------------------------------------- Oracle Access Manager 10.1.4.3.0 WebGate 安装在 Oracle Access Manager 10.1.4.3.0 WebGate 安装目录下。要使用 Oracle Access Manager 10.1.4.3.0 WebGate 模块, 可通过修改 Web 服务器目录中的配置来配置 Web 服务器。Oracle 可以自动为您更新配置。您也可以手动更新。 是否继续自动更新 "httpd.conf"? [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1 ------------------------------------------------------------------------------- 请输入 Web 服务器配置目录的 httpd.conf 的绝对路径。 (如 "/export/apache/conf/httpd.conf") [/app/soft/apache/conf/httpd.conf] 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1 正在更新 Web 服务器配置... 出现错误。请重试。 Error: You are not authorized to configure this web server EditHttpConf Error. Unable to automatically update /app/soft/apache/conf/httpd.conf. No changes have been made to /app/soft/apache/conf/httpd.conf. ------------------------------------------------------------------------------- Oracle Access Manager 10.1.4.3.0 WebGate 安装在 Oracle Access Manager 10.1.4.3.0 WebGate 安装目录下。要使用 Oracle Access Manager 10.1.4.3.0 WebGate 模块, 可通过修改 Web 服务器目录中的配置来配置 Web 服务器。Oracle 可以自动为您更新配置。您也可以手动更新。 是否继续自动更新 "httpd.conf"? [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 4 ------------------------------------------------------------------------------- Oracle Access Manager 10.1.4.3.0 WebGate 安装在 Oracle Access Manager 10.1.4.3.0 WebGate 安装目录下。要使用 Oracle Access Manager 10.1.4.3.0 WebGate 模块, 可通过修改 Web 服务器目录中的配置来配置 Web 服务器。Oracle 可以自动为您更新配置。您也可以手动更新。 是否继续自动更新 "httpd.conf"? [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 1 是否继续自动更新 "httpd.conf"? [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1
输入Apache配置文件的绝对路径,配置失败 查找原因: 1.怀疑是第一次配置的webgate在捣鬼,第一次配置成功,但是WebGate 主机名和 WebGate 连接的端口号是失败的,直接跳过了。删掉Apache,重装一次; 果然,奏效,接着往下走
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ------------------------------------------------------------------------------- 请输入 Web 服务器配置目录的 httpd.conf 的绝对路径。 (如 "/export/apache/conf/httpd.conf") [/app/soft/apache/conf/httpd.conf] 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1 正在更新 Web 服务器配置... ------------------------------------------------------------------------------- 配置 Web 服务器 已经为 WebGate 修改 Web 服务器配置 请重新启动 Web 服务器以完成 WebGate 的安装。 按 1 到下一步, 3 取消 或者 4 重新显示 [1]
填1,下一步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ------------------------------------------------------------------------------- 配置 Web 服务器 如果 Web 服务器是在 SSL 模式下设置的, 则需要使用与 SSL 相关的参数配置 httpd.conf 文件。要手动调整 SSL 配置, 请按显示的说明进行操作。 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] ------------------------------------------------------------------------------- 有关其余产品设置和 Web 服务器配置的信息, 请参阅文档: /app/soft/webgate4/access/oblix/lang/en-us/docs/config.htm 是否希望安装程序启动浏览器来查看此文档? 也可以记下文档路径, 以后自己启动浏览器。 [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 1 有关其余产品设置和 Web 服务器配置的信息, 请参阅文档: /app/soft/webgate4/access/oblix/lang/en-us/docs/config.htm 是否希望安装程序启动浏览器来查看此文档? 也可以记下文档路径, 以后自己启动浏览器。 [X] 1 - 是 [ ] 2 - 否 要选择一个选项,请输入它的编号或在完成时输入 0: [0] 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1 错误: 无法在当前路径中找到 Netscape 浏览器。 ------------------------------------------------------------------------------- 配置 Web 服务器 请启动浏览器并打开 /app/soft/webgate4/access /oblix/lang/en-us/docs/config.htm 文档, 以获得有关配置 Web 服务器的详细信息。 按 1 到下一步, 2 到上一步, 3 取消 或者 4 重新显示 [1] 1
启动浏览器失败,无所谓,往下走, 填1,下一步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 正在更改文件所有权和权限... ------------------------------------------------------------------------------- ▽ 请阅读以下信息。 Oracle COREid 10.1.4.3.0 自述文件 ▽ <VirtualHost *:9008> --------------------------------------- 目录 --------------------------------------- --------------------------------------- 与 Oracle 联系 --------------------------------------- 如果您在安装或配置 NetPoint 方面有疑问,请与 Oracle 客户关怀联系,电话为 (800) 833-3536,或者可以访问链接 http://www.oracle.com/corporate/contact/index.html。 Oracle http://www.oracle.com 公司总部 500 Oracle Parkway Redwood Shores,CA 94065 按 Enter 键 阅读文本(Y)(Q) [输入 q 以退出(N)] q
完成安装 填q,退出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 按 1 到下一步, 3 取消 或者 4 重新显示 [1] 1 ------------------------------------------------------------------------------- Oracle Access Manager 10.1.4.3.0 WebGate 已成功安装。 Oracle Access Manager 10.1.4.3.0 WebGate 设置信息 传输安全: open WebGate ID: CRLD_ERPZT_WebGate Access Server 主机名: drjtldapvdra05 Access Server 端口号: 5575 按 3 完成 或者 4 重新显示 [3] 3 您在 /var/spool/mail/appuser 中有邮件
webgate安装结束, Apache重启
Apache配置 1.1 修改/apps/apache/conf/httpd.conf 监听的端口:
修改:
1 Include conf/httpd-vhosts.conf
在
1 2 3 <Location "/oberr.cgi"> SetHandler obwebgateerr </Location>
下面增加:
1 2 3 4 <Location "/obrar.cgi"> AuthType Oblix require valid-user </Location>
修改:
1 2 3 4 <LocationMatch "*"> AuthType Oblix require valid-user </LocationMatch>
为
1 2 3 4 <LocationMatch "^/((?!(api|logfiles|osp)).)*$"> AuthType Oblix require valid-user </LocationMatch>
1.2. 修改/app/soft/apache/conf/httpd-vhost.conf 初始该配置文件的内容为空,参考以下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <VirtualHost *:9008> ServerAdmin jitian-web-osp DocumentRoot "/www/jitian-web-osp" ServerName jitian-web-osp ServerAlias jitian-web-osp # ErrorLog "/www/jitian-web/logs/error_log" # CustomLog "/www/jitian-web/logs/dummy-host.8888.com-access_log" common # 开启反向代理 # Allow Override All # Order allow,deny # Allow from all # PHP ProxyPass / http://10.0.XX.X:9009/ ProxyPassReverse / http://10.0.XX.X:9009/ </VirtualHost>
ProxyPass 与 ProxyPassReverse 后面的『http://10.0.XX.X:9009/』是需要我们的请求的真正的目的服务器,其前边的 空格+/+空格 也是属于我们配置的一部分
检查Apache是否安装成功 重启:
1 2 /app/soft/apache/bin/httpd -k start lsof -i :9008