nginx SSI: como ecoar html?

nginx SSI: como ecoar html?

Como teste de sanidade, no início da minha página HTML, estou tentando fazer um SSI muito simples echopara indicar ao navegador que o SSI está funcionando:

index.html:

<script>var ssi_enabled = false</script>
<!--# set var="test" value="<script>ssi_enabled=true</script>" -->
<!--# echo var="test" -->

mais tarde em JS:

if (!ssi_enabled) { console.log("SSI is not enabled!"); }

Mas quando nginx echoé a string, as tags HTML são higienizadas da seguinte forma:

&lt;script&gt;ssi_enabled=true&lt;/script&gt;

Não consigo encontrar nada nos documentos do nginx que indique como fazer echoHTML bruto.

Sim, eu sei que poderia importar um arquivo html, mas estava tentando evitá-lo, pois isso adiciona mais complexidade. Parece que isso poderia ser feito, mas estou faltando o parâmetro correto para echo.

Obrigado

Responder1

nginxtem um encodingparâmetro para o echocomando (cf.comandos suportados), que decide como escapar do texto. Pode ter três valoresnenhum(que é o que você está procurando),urle o padrãoentidade. Compare os resultados de:

<!--#set var="GREETING" value="<h1><strong>Hello <em>&World</em></strong></h1><p>àäáąåǎâ</p>" -->
<!--#echo var="GREETING" encoding="none" -->
<!--#echo var="GREETING" encoding="url" -->
<!--#echo var="GREETING" encoding="entity" -->

informação relacionada