Nginx 将多行jinja2块转换为单线
我使用ansible(使用jinja2)来管理nginx。我的nginx配置文件有一行很长,很难维护:Nginx 将多行jinja2块转换为单线,nginx,ansible,jinja2,content-security-policy,nginx-config,Nginx,Ansible,Jinja2,Content Security Policy,Nginx Config,我使用ansible(使用jinja2)来管理nginx。我的nginx配置文件有一行很长,很难维护: add_header Content-Security-Policy "default-src 'self' http: https: https://*.foo.com: https://*.bar.com: https://*.baz.com: https://*.qux.com: https://*.spam.com: https://*.ham.com: https://*.eggs.
add_header Content-Security-Policy "default-src 'self' http: https: https://*.foo.com: https://*.bar.com: https://*.baz.com: https://*.qux.com: https://*.spam.com: https://*.ham.com: https://*.eggs.com: wss://*.foo.com: object-src 'none'" always;
由于配置文件是一个jinja2模板,所以我想将这一行重写为多行(以便于维护),但要将其转换为如上所述的一行
我该怎么做?换句话说,类似这样的事情(当然不起作用):
…转换后,将为我提供上面显示的一行?一个可能的解决方案:将所需的值放入列表中,并用空格连接:
{%- set my_values=[
"default-src 'self'",
"http:",
"https:",
"https://*.foo.com:",
"https://*.bar.com:",
"https://*.baz.com:",
"https://*.qux.com:",
"https://*.spam.com:",
"https://*.ham.com:",
"https://*.eggs.com:",
"wss://*.foo.com:",
"object-src 'none'",
"always",
]-%}
add_header Content-Security-Policy "{{ my_values | join(' ') }}";
蛋糕上的樱桃:从清单/剧本中声明的变量将此列表直接传递给模板
{%- set my_values=[
"default-src 'self'",
"http:",
"https:",
"https://*.foo.com:",
"https://*.bar.com:",
"https://*.baz.com:",
"https://*.qux.com:",
"https://*.spam.com:",
"https://*.ham.com:",
"https://*.eggs.com:",
"wss://*.foo.com:",
"object-src 'none'",
"always",
]-%}
add_header Content-Security-Policy "{{ my_values | join(' ') }}";