LIP-Computing.ssl-certs

ansible-role-ssl-certs

生成和/或部署 SSL 证书

在 Ansible Galaxy 上可用:LIP-Computing.ssl-certs

示例

生成自签名 SSL 证书的示例

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs

这将在以下位置创建证书和私钥:

  • /etc/ssl/myserver.mydomain.com.key
  • /etc/ssl/myserver.mydomain.com.pem

部署 SSL 证书的示例

以下是两个剧本示例:

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "example.com"
 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_common_name: "myhost.mydomain"
      ssl_certs_country: "PT"
      ssl_certs_locality: "Lisbon"
      ssl_certs_organization: "LIP"
      ssl_certs_state: "Lisbon"
      ssl_certs_path_owner: "root"
      ssl_certs_path_group: "root"
      ssl_certs_generate_dh_param: true

证书必须放置在 files/ssl/example.com.keyfiles/ssl/example.com.pem 文件中。如果它们不存在,将会使用提供的通用名称在 /etc/ssl/example.com.key/etc/ssl/example.com.pem 生成一个 自签名 证书。

使用本地密钥/pem 文件部署 SSL 证书的示例

 - hosts: all
   roles:
    - role: LIP-Computing.ssl-certs
      ssl_certs_local_privkey_path: '/path/to/example.com.key'
      ssl_certs_local_cert_path: '/path/to/example.com.pem'

使用变量存储的 SSL 证书部署的示例

SSL 证书和密钥只是可以作为变量存储的文本,这在使用 Ansible vault 时非常有用。

示例变量数据,请注意文本块是如何缩进的。这对于通过模板模块正确插入文本是必要的。

ssl_certs_local_privkey_data: |
  -----BEGIN RSA PRIVATE KEY-----
  MIIEpQIBAAKCAQEAu2uhv2cjoN4F3arUZ5cDrwuxf3koCwrKSK75as0WZoxYrpyw
  Lyx9ldyD4nGabVep0R/uAgQ/HqEf2jC7WIvGcEq8bHB9PyEEWzT8IjKQX0YTc//4
  gkHBkpyU0fVrj5nkc30EIbcbH4RHRDwye4VhP/iCPchDG7OqvCyOdm8=
  -----END RSA PRIVATE KEY-----
ssl_certs_local_cert_data: |
  -----BEGIN CERTIFICATE-----
  MIIDmzCCAoOgAwIBAgIJAKWMlgLwrBzXMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNV
  QAL3naEfBSZBl0tBohuxn8Xd3yLPuKGUOk3pSL1IJy0Ca6p+QwjkaZUd9X3gf1V2
  SEfYSaGPvfIlSuHIshno
  -----END CERTIFICATE-----

然后简单地像第一个示例一样包含该角色。

将此角色与我的 Nginx 角色一起使用的示例:jdauphant.nginx

 - hosts: all
   roles:
     - LIP-Computing.ssl-certs
       ssl_certs_generate_dh_param: true
     - role: jdauphant.nginx
       nginx_configs:
          ssl:
               - ssl_certificate_key {{ssl_certs_privkey_path}}
               - ssl_certificate     {{ssl_certs_cert_path}}
               - ssl_dhparam         {{ssl_certs_dhparam_path}}
       nginx_sites:
          default:
               - listen 443 ssl
               - server_name _
               - root "/usr/share/nginx/html"
               - index index.html
关于项目

Generate and/or deploy SSL certificate

安装
ansible-galaxy install LIP-Computing.ssl-certs
许可证
bsd-2-clause
下载
70
拥有者
LIP Computing group