jsc*_*ank 3 python wordpress jinja2 ansible
我使用ansible来提供wordpress安装,为此我有一个wp-config.php的模板.
我的wp-config.php.j2模板替换了键和盐,它看起来像这样
{{ wordpress_keys.content }}
Run Code Online (Sandbox Code Playgroud)
wordpress_keys来自一个任务,如下所示:
- name: retrieve new wordpress keys and salts
uri:
url: "https://api.wordpress.org/secret-key/1.1/salt/"
method: GET
return_content: yes
register: wordpress_keys
Run Code Online (Sandbox Code Playgroud)
问题是,有时键和盐在其中有"特殊"字符,如<>,{}等,这似乎导致ansible产生如下错误:
致命:[ddc-wpchange2.ddc.prod] => {'msg':"AnsibleError:模板定义失败('AUTH_KEY',
'1 = MFI*+!d ^ 1/y;} za6 $ Qf w4vo {bv !gV?lmX?^ P h/5L?szDv&V <~in + .~ ^ oOdCFpyt] Tu8FSmGE} @ ||,Pe(:( 1%CjjAwhq {Gi#j-'); \ndefine('LOGGED_IN_KEY',
' BJ6c9#/ XDBVDB-8Q + ctK9DLZiKUzPYbM&aMlO!.v7COPb8 = [9HdU&Y7%SzE {&xh'); \ndefine('NONCE_KEY','.xB:3|/#|^2*JMh6+t$Ek:DG+wEqyO4:QZmMo}g|MeZi~LrvNpJ-z(8/S ,P.,N');\ndefine('AUTH_SALT', '-pzZ6 l40^8++a@t_sldj_CK {{V%] u-#cK44dAig%v <'); \ndefine( 'SECURE_AUTH_SALT','?ONdE { - {6CQT_Jrn0N4xHhI |} Rz2y1cc9Cj22XO kITU |)BJm@BgPd5.lPW-?e;'); \ndefine('LOGGED_IN_SALT','O_Q7} Q.fx,Gt#0m30 - @ $ k +〜> dSk k6gz/I +> $ k~h9)<6(M~F +} UFU:'y + zF = o1:> p1S:2FB6)e~vO_#[ - i1ur} V?y $> EOyF; {lkU8Y; y0Znt '); \n:模板生成时模板错误:意外'''','失败':真}
只有当存在某些特殊字符时,错误才会一直发生.
我的问题是......我怎样才能在请求的结果中替换,而不会发生这种情况?是否有某种逃避或引用可行?
谢谢,
约翰
逃避某些角色将是困难的,因为uri模块不仅需要支持它,而且模板引擎引擎也必须不受欢迎.
相反,这是一个解决方法:
修改任务,以便将内容保存到文件而不是变量:
- name: retrieve new wordpress keys and salts
uri:
url: "https://api.wordpress.org/secret-key/1.1/salt/"
method: GET
dest: wp_keys.php
return_content: yes
Run Code Online (Sandbox Code Playgroud)
然后在包含的wp-config.php.j2模板中添加一行wp_keys.php.
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |