我正在尝试创建一个Ansible游戏,在该游戏中,先前下载的SSL证书随后被分发到我们的F5。我已经更新为我们的许可证允许的最新版本12.1.4。我可以将密钥和证书文件放在F5上。我可以手动配置这些证书,并且一切正常……但是我需要通过Ansible使该过程自动化。
我们的F5目前被用作名为WaveForm的服务的故障转移,该服务监视音频馈送。我正在尝试使用bigip_profile_client_ssl更新WaveForm的客户端配置文件,以指向先前步骤中已上传的新SSL证书。问题是我不知道如何更新现有的配置文件,bigip_profile_client_ssl似乎只能创建一个具有相同名称的新配置文件。我已经搜索了文档,谷歌等,但是找不到如何执行的答案,特别是客户端SSL配置文件的更新。
因此,自然地,我在想也许可以删除旧条目并创建一个新条目。简单吧?但是我在那里也遇到了问题:我似乎无法弄清楚如何使用bigip_profile_client_ssl模块设置应用程序或分区/路径。我认为,“应用程序”设置是将SSL配置绑定到实际网络资源的具体方式。
请参阅Ansible文档:https://docs.ansible.com/ansible/latest/modules/bigip_profile_client_ssl_module.html
请注意,这都是在内部网络上运行的,无法从外部访问。
这是我遇到问题的模块:
# fullpath from facts: "/Common/wf.site.com.app/wf.site.com_client-ssl"
- name: Update Client SSL Profile for WaveForm
bigip_profile_client_ssl:
provider:
server: "{{ server }}"
server_port: "{{ server_port }}"
user: "{{ f5_ad_user }}"
password: "{{ f5_ad_password }}"
transport: rest
validate_certs: no # temporary ignore SSL validation
state: present # as opposed to absent
name: "wf.site.com_client-ssl"
parent: "/Common/clientssl"
cert_key_chain:
- cert: "/Common/default.crt" #test-cert-fullchain.crt"
key: "/Common/default.key" #test-key.key"
# chain:
delegate_to: localhost
运行此命令后,我最终得到2个wf.site.com_client-ssl条目。一个是新的,包含正确的证书,但未配置为通过“应用程序”设置使用,另一个正在使用的条目保持不变。
在“本地流量”“个人资料:SSL:客户端”页面上,正确的条目如下所示:
名称|申请|家长资料|分区/路径 wf.site.com_client-ssl | wf.site.com | clientsl | Common / wf.site.com.app
新条目的外观如下:
名称|申请|家长资料|分区/路径 wf.site.com_client-ssl | (空白)| clientsl |普通
在这里我有什么选择? Shell命令?
答案 0 :(得分:0)
我发现多次运行Ansible剧本不会产生多个新的客户端SSL配置文件。因此,为了解决该问题,我不理会现有的已配置客户端SSL配置文件,我使用Ansible剧本创建了一个新的客户端SSL配置文件,修改了应用程序设置以指向此新的客户端SSL配置文件,并且似乎仍在波形中-机智。我可以使用Common / default.crt和default.key更新,并看到波形SSL失败,并且可以使用正确的密钥和完整链证书再次运行ansible脚本,并看到波形在有效HTTPS上按预期运行。应用程序配置似乎没有任何其他操作...只是更改了配置的客户端SSL配置文件,一切似乎都可以正常工作。
我希望这可以帮助可能遇到类似问题的其他人。