设为首页 收藏本站
查看: 1567|回复: 0

[经验分享] nginx结合多套puppet实现(apach+forman+puppt)

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2016-1-18 09:40:34 | 显示全部楼层 |阅读模式
本案例是将多套puppet服务端(puppet+apache+foreman+foreman-proxy)系统,利用nginx负载均衡实现统一服务的功能。其中用到的puppet+apache+foreman+foreman-proxy配置和nginx+puppet配置等内容可以参考本人前面的相关文章。

这里以2套为例,它们的信息如下:
软件信息:Centos6.5 x86_64,puppet3.8.3,foreman1.9.2,foreman-proxy1.9.2
其中主master端安装有nginx1.4.7

域名:
master1:www.master1.com
master2:www.master2.com

这里主puppet服务端master1不需要做修改,只需配置好nginx辅助均衡即可;这里主要修改辅助的puppet服务端master2。
辅助的puppet服务端master2修改如下:

一、修改puppet配置
1.1修改puppet.conf
[main]
#采用master1的证书域名
certname = www.master1.com
#关闭master2的证书认证功能
ca = false    

1.2修改forema.yaml
使用master1的如下信息
:url: "www.master1.com"
:ssl_ca: "/var/lib/puppet/ssl/ca/ca_crt.pem"
:ssl_cert: "/var/lib/puppet/ssl/certs/www.master1.com.pem"
:ssl_key: "/var/lib/puppet/ssl/private_keys/www.master1.com.pem"

1.3统一配置
替换/etc/puppet/下的以下文件:
拷贝master1的fileserver.conf、auth.conf、autosign.conf到master2中相应位置;
拷贝master1的manifests下文件到master2中相应位置;
拷贝master1的modules下文件到master2中相应位置;
注:如果使用了enviroments文件夹来存放不同环境,那么也有拷贝该文件夹。如果后期以上文件有改变也要和及时和master1进行同步。

1.4统一证书
拷贝master1的/var/lib/puppet/文件夹到master2中相应位置;
注:如果后期以上文件有改变要及时和master1进行同步。

二、修改apache配置
2.1禁用80和443端口,只留puppet服务端口
vim /etc/httpd/conf/port.conf
#Listen 443
#Listen 80
#NameVirtuaHost *:443
#NameVirtuaHost *:80

2.2重命名apache中foreman相关配置文件,使其不启用
cd /etc/httpd/conf.d
#mv 05-foreman.conf 05-foreman.conf_bak
#mv 05-foreman-ssl.conf 05-foreman-ssl.conf_bak
#mv 15-default.conf 15-default.conf_bak

三、关闭相关服务
3.1关闭foreman服务
#service foreman stop
#chkconfig foreman off

3.2 关闭foreman-proxy服务
#service foreman-proxy stop
#chkconfig foreman-proxy off

四、修改master1中nginx配置
由于辅助puppet即master2停用了证书颁发功能,所以所用的证书申请及颁发必须有主puppet即master1来实现;因而,我们要对新客户端的证书申请和颁发时用到的请求做过滤,让他们只能访问主puppet即master1。

在已经配好的nginx负载均衡的server配置中增加如下配置:
#vim /usr/local/nginx/conf/nginx.conf

location ~* /product/{certification|certificate_request|certificate_revocation_list} {
       #设置跳转到主puppet即master1中申请证书
       proxy_pass       https://127.0.0.1:8140;
       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_set_header   X-Client-Verify $ssl_client_verify;
       proxy_set_header   X-SSL-Subject $ssl_client_s_dn;
       proxy_set_header   X-SSL-Issuer $ssl_client_i_dn;
     }


五、启动服务
1.启动master2中Apache服务
#service httpd restart

2.启动master1中各项相关服务
#service foreman-proxy restart
#service httpd restart
#/usr/local/nginx/sbin/nginx

3.使用客户端连接进行测试即可
为了测试效果,可以在nginx中分别开启各个puppet服务连接,来验证每个puppet服务是否正常。

如果有多套同样的,配置方式也是类似的。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-165862-1-1.html 上篇帖子: 给个中维世纪监控系统的下载地址,悬赏20分 下篇帖子: centos6.5 + puppet
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表