我嘗試使用下面的鏈接,創建與中央證書頒發機構的多個木偶主服務器:
https://docs.puppet.com/puppet/3/scaling_multiple_masters.html#option-1-direct-agent-nodes-to-the-ca-master
但是這個文檔是根據傀儡第3版,並與傀儡4有一個運行在JVM和碼頭服務請求的puppet服務器。正如在上面的文檔中,apache將所有證書URI轉發給中央服務器,我如何使用puppet 4創建相同的體系結構。集中的證書頒發機構4
0
A
回答
0
似乎它只能用於Enterprise Puppet。 我認爲,與開放源代碼相比,您可以繼續使用Apache/Nginx和代理請求到CA或在所有代理puppet.conf上配置webserver.conf和用戶ca_server。我不確定CRL撤銷可以做什麼。 傀儡3.8我們用下面的方案,我認爲這應該與新的puppetserver工作(這有點瘋狂,雖然):
當CA被清洗的人證明我們的inotify趕上 事件與incron守護進程。
incron運行卷曲用GET請求所有木偶大師
pwgen -1 > /tmp/crl curl --data-binary '@/tmp/crl' http://puppetmaster:8887/crl
在nginx的配置上主,我們有以下幾點:
server { listen 8887; server_name puppetmaster.net; root /var/www; location /crl { limit_except POST { deny all; } client_body_temp_path /srv/puppet/crl/; client_body_in_file_only on; client_body_buffer_size 128K; client_max_body_size 128K; proxy_pass_request_headers on; proxy_set_header X-FILE $request_body_file; proxy_set_body off; proxy_redirect off; proxy_pass http://localhost:8888; } } server { listen localhost:8888; server_name localhost; root /var/www; }
所以我們節省要求在文件中,有master上的另一個incron守護進程可以捕獲這個請求並運行另一個請求到CA並通過CA API (請參閱puppet doc)下載CRL。重新加載httpd之後。我們做如下:
#!/bin/bash PID='/tmp/crlpid' if [[ -f $PID ]]; then exit else touch $PID fi function check { rm -f /srv/puppet/crl/* sleep 10 COUNT=$(ls -1 /srv/puppet/crl | wc -l) if [[ $COUNT > 0 ]]; then check else return 0 fi } if check; then STATUS='NOTSET' SSLDIR=`puppet config print ssldir` CERTNAME=`hostname -f` ENV=`puppet config print environment` URL="https://puppetca:8140/${ENV}/certificate_revocation_list/ca" CRT=`puppet config print cacert` CRL=`puppet config print cacrl` TMPCRL="/tmp/puppet_ca_crlpem.tmp" curl --output "${TMPCRL}" \ --cacert "${SSLDIR}/certs/ca.pem" \ --cert "${SSLDIR}/certs/${CERTNAME}.pem" \ --key "${SSLDIR}/private_keys/${CERTNAME}.pem" \ -H "Accept: s" "${URL}" openssl crl -text -in "${TMPCRL}" -CAfile "${CRT}" -noout > /dev/null 2>&1 && STATUS='VALID' if [[ "${STATUS}" == "VALID" ]]; then mv -f "${TMPCRL}" "${CRL}" chown puppet:puppet "${CRL}" systemctl reload httpd.service fi rm -f $PID fi
相關問題
- 1. 爲什麼證書頒發機構(CA)從中間頒發機構頒發證書而不是根頒發機構頒發證書?
- 2. 證書頒發證書頒發機構c#
- 3. PKI的證書頒發機構
- 4. Terraform RDS和證書頒發機構
- 5. 自定義SSL證書頒發機構?
- 6. OpenSSL向證書頒發機構頒發服務器證書給客戶端?
- 7. 下載DoD證書頒發機構(CA)證書的鏈接
- 8. 如何使用makecert創建證書頒發機構證書?
- 9. 證書頒發機構 - 證書吊銷過程
- 10. 構建證書頒發機構體系結構
- 11. 確保已頒發的證書不會自行頒發證書
- 12. 如何信任Java中的證書頒發機構?
- 13. 如何使證書頒發機構發出我的請求?
- 14. 在Qt中,如何從QNetworkRequest中刪除所有證書頒發機構證書?
- 15. 如何驗證證書是由特定證書頒發機構創建的?
- 16. 證書頒發機構最初如何驗證公鑰?
- 17. 如何在centos7中添加證書頒發機構?
- 18. 證書頒發機構公鑰vs中間人攻擊
- 19. 根據自簽名證書頒發機構驗證服務器證書
- 20. 開源的證書頒發機構軟件
- 21. C#.NET - 固定證書頒發機構 - 我做的正確嗎?
- 22. 證書頒發機構vs存儲的公鑰
- 23. ClickOnce受信任的根證書頒發機構
- 24. 如何從kops創建的集羣中獲取證書頒發機構證書/密鑰?
- 25. 使用證書頒發機構以編程方式創建證書
- 26. 如何使用Delphi訪問Windows根證書頒發機構證書?
- 27. 我該如何信任證書頒發機構
- 28. Internet Explorer信任哪些證書頒發機構?
- 29. 什麼證書頒發機構軟件可用?
- 30. Android:以編程方式信任證書頒發機構