溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Puppet擴展(一):縱向擴展Apache+Passenger

發(fā)布時間:2020-06-20 02:34:07 來源:網(wǎng)絡(luò) 閱讀:3777 作者:月晴星飛 欄目:編程語言



1、功能說明

  puppet默認使用基于Ruby的WEBRickHTTP來處理HTTPS請求,

  單個服務(wù)器使用Apache+Passenger替換掉WEBRickHTTP,

  Passenger是用于將Ruby程序進行嵌入執(zhí)行的Apache模塊,

  在安裝前,首先至少要執(zhí)行一次service puppetmaster start,生成本地證書

  官方配置指南:https://docs.puppetlabs.com/guides/passenger.html

2、安裝apache

[root@puppet ~]# yum install -y httpd httpd-devel openssl mod_ssl ruby-devel libcurl-devel rubygems gcc

    前面已安裝了apache,這里主要安裝mod_ssl ruby-devel libcurl-devel三個。

3、安裝passenger

[root@puppet ~]# gem install rack passenger
[root@puppet ~]# passenger-install-apache2-module

Puppet擴展(一):縱向擴展Apache+Passenger

    直接回車

Puppet擴展(一):縱向擴展Apache+Passenger

    默認選擇了Ruby,直接回車

Puppet擴展(一):縱向擴展Apache+Passenger

    檢查需要安裝的包,根據(jù)提示安裝需要的軟件包,再重新執(zhí)行

[root@puppet ~]# yum install libcurl-devel

Puppet擴展(一):縱向擴展Apache+Passenger

    需要將此段寫入passenger.conf中:

[root@puppet ~]# vi /etc/httpd/conf.d/passenger.conf
    LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so    
    <IfModule mod_passenger.c>      
      PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.53      
      PassengerDefaultRuby /usr/bin/ruby    
    </IfModule>

    繼續(xù)回車完成,可以看到一個虛擬主機的配置樣例。

Puppet擴展(一):縱向擴展Apache+Passenger

4、配置rack

  config.ru文件會告訴Rack如何生成puppet master進程

[root@puppet ~]# cd /usr/share/puppet
[root@puppet puppet]# mkdir -p rack/puppetmasterd/{public,tmp}
[root@puppet puppet]# cp ext/rack/config.ru rack/puppetmasterd/
[root@puppet puppet]# chown puppet:puppet rack/puppetmasterd/config.ru

5、配置passenger和vhost

[root@puppet puppet]# cp ext/rack/example-passenger-vhost.conf  /etc/httpd/conf.d/puppetmaster.conf
[root@puppet puppet]# vi /etc/httpd/conf.d/puppetmaster.conf
# This Apache 2 virtual host config shows how to use Puppet as a Rack
# application via Passenger. See
# http://docs.puppetlabs.com/guides/passenger.html for more information.

# You can also use the included config.ru file to run Puppet with other Rack
# servers instead of Passenger.

# you probably want to tune these settings
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
# PassengerMaxRequests 1000
PassengerStatThrottleRate 120
#RackAutoDetect Off             #注釋掉這行
#RailsAutoDetect Off            #注釋掉這行

Listen 8140

<VirtualHost *:8140>
        SSLEngine on
        SSLProtocol             ALL -SSLv2 -SSLv3
        SSLCipherSuite          EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
        SSLHonorCipherOrder     on

        SSLCertificateFile      /var/lib/puppet/ssl/certs/puppet.ewin.com.pem   #修改路徑和證書名稱
        SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/puppet.ewin.com.pem  #修改路徑和證書名稱
        SSLCertificateChainFile /var/lib/puppet/ssl/ca/ca_crt.pem  #修改路徑
        SSLCACertificateFile    /var/lib/puppet/ssl/ca/ca_crt.pem  #修改路徑
        # If Apache complains about invalid signatures on the CRL, you can try disabling
        # CRL checking by commenting the next line, but this is not recommended.
        SSLCARevocationFile     /var/lib/puppet/ssl/ca/ca_crl.pem  #修改路徑
        # Apache 2.4 introduces the SSLCARevocationCheck directive and sets it to none
        # which effectively disables CRL checking; if you are using Apache 2.4+ you must
        # specify 'SSLCARevocationCheck chain' to actually use the CRL.
        # SSLCARevocationCheck chain
        SSLVerifyClient optional
        SSLVerifyDepth  1
        # The `ExportCertData` option is needed for agent certificate expiration warnings
        SSLOptions +StdEnvVars +ExportCertData

        # This header needs to be set if using a loadbalancer or proxy
        RequestHeader unset X-Forwarded-For

        RequestHeader set X-SSL-Subject %{SSL_CLIENT_S_DN}e
        RequestHeader set X-Client-DN %{SSL_CLIENT_S_DN}e
        RequestHeader set X-Client-Verify %{SSL_CLIENT_VERIFY}e

        DocumentRoot /usr/share/puppet/rack/puppetmasterd/public    #修改路徑
        RackBaseURI /
        <Directory /usr/share/puppet/rack/puppetmasterd/>           #修改路徑
                Options None
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

6、服務(wù)

[root@puppet ~]# service puppetmaster stop
[root@puppet ~]# service httpd restart
[root@puppet ~]# chkconfig httpd on
[root@puppet ~]# netstat -nlp | grep 8140

7、測試

(1)WEB網(wǎng)頁訪問測試

    客戶端修改IE設(shè)置,去掉標(biāo)黃的勾:

Puppet擴展(一):縱向擴展Apache+Passenger

    使用IE瀏覽https://10.188.1.73:8140/

Puppet擴展(一):縱向擴展Apache+Passenger

    出現(xiàn)這一行表示配置成功,下一節(jié)配置Dashboard后就有內(nèi)容了。

(2)linux客戶端測試

[root@zabbix ~]# puppet agent --server puppet.ewin.com --test

Puppet擴展(一):縱向擴展Apache+Passenger

    沒有報錯,顯示配置版本號及完成時間表示成功。

(3)puppet服務(wù)端測試

[root@puppet ~]# tailf /var/log/httpd/access_log

    10.188.1.172是windows客戶機ywzhou-pc:

Puppet擴展(一):縱向擴展Apache+Passenger

    10.188.1.103是linux客戶機zabbix:

Puppet擴展(一):縱向擴展Apache+Passenger

    客戶機發(fā)出HTTP GET請求,狀態(tài)碼200表示請求成功,再使用PUT請求提交了一個報告


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI