<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"Calisto MT";
        panose-1:2 4 6 3 5 5 5 3 3 4;}
@font-face
        {font-family:"Lucida Sans";
        panose-1:2 11 6 2 3 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I have a rule like the following where I am trying to replace instances of /spf/ with /ec/apps/symmetry/spf/.   I’ve used sub_filter to do this sort of thing before and had luck with it. 
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">        location /ec/apps/symmetry/ {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">            proxy_pass http://stl-biz-d2-hrxsymmetry.devapp.c9.equifax.com:55943/;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">            proxy_redirect / https://$host/ec/apps/symmetry/;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New"">   </span></b><span style="font-family:"Courier New"">         #sub filter doesn't work if the upstream server returns compressed or zipped content.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">            proxy_set_header Accept-Encoding identity;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New"">            sub_filter once off;  # doesn’t seem to have an effect<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New""><o:p> </o:p></span></b></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">            sub_filter '<span style="background:aqua;mso-highlight:aqua">/spf/</span>' '<span style="background:yellow;mso-highlight:yellow">/ec/apps/symmetry/spf/'</span>;<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family:"Courier New""><o:p> </o:p></span></b></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">            add_header X-nginx-rule /ec/apps/symmetry;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">        }<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The thing I am seeing here is that even though I specified sub_filter_once off I still only see the
<i>first</i> link modified in the html that comes back.   When this html is returned<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New""><html><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New""><head><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <title> Welcome </title><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">    
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">          
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <meta name="viewport" content="width=device-width, initial-scale=1.0"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <meta name="robots" content="noindex,nofollow"/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/jquery.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/bootstrap.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/underscore.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/beautify-html.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/jquery-zoom.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/spf-new-all.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <link href="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/css/bootstrap.css?v=spf_2017-R5" type="text/css" media="all" rel="stylesheet"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <link href="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/css/main.css?v=spf_2017-R5" type="text/css" media="all" rel="stylesheet">  
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">    
<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is what I see coming out of nginx:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New""><html><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New""><head><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <title> Welcome </title><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">    
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">          
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <meta name="viewport" content="width=device-width, initial-scale=1.0"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <meta name="robots" content="noindex,nofollow"/><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:yellow;mso-highlight:yellow">/ec/apps/symmetry/spf/</span>resources/js/jquery.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/bootstrap.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/underscore.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/beautify-html.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/jquery-zoom.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <script type="text/javascript" src="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/js/spf-new-all.js?v=spf_2017-R5"></script><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <link href="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/css/bootstrap.css?v=spf_2017-R5" type="text/css" media="all" rel="stylesheet"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">     <link href="<span style="background:aqua;mso-highlight:aqua">/spf/</span>resources/css/main.css?v=spf_2017-R5" type="text/css" media="all" rel="stylesheet">  
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"Courier New"">    
</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  <o:p></o:p></p>
<p class="MsoNormal"> I can see that “X-nginx-rule” header show up in the browser confirming that the request traversing this location block. The fact that anything is modified tells me that gzip and content-type are not getting in the way. sub_filter is filtering,
 it’s just only doing it one time <span style="font-family:Wingdings">J</span>.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I was able to work around this by just accepting /spf/ in another location block but for future reference –
<b>has anyone seen sub_filter only make one substitution even when sub_filter once off is specified</b>?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span style="font-family:"Calisto MT","serif";color:#595959">Jason Whittington
</span></b><span style="font-size:10.0pt;font-family:"Calisto MT","serif";color:#595959">| Architect, PD Shared Services<o:p></o:p></span></p>
<table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tbody>
<tr>
<td width="114" valign="top" style="width:85.5pt;border:none;border-right:solid #7F7F7F 1.0pt;padding:0in 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:3.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:0in">
<img width="108" height="21" id="Picture_x0020_1" src="cid:image001.png@01D37331.C77DD2A0" alt="cid:image001.jpg@01CD7B01.8E79C0A0"><b><span style="font-size:28.0pt;color:#1F497D"><o:p></o:p></span></b></p>
</td>
<td width="186" valign="top" style="width:139.5pt;padding:0in 5.4pt 0in 5.4pt">
<p class="MsoNormal" style="mso-margin-top-alt:3.0pt;margin-right:0in;margin-bottom:3.0pt;margin-left:0in">
<b><span style="font-size:9.0pt;font-family:"Lucida Sans","sans-serif";color:#595959">WORKFORCE<br>
SOLUTIONS</span></b><b><span style="font-size:9.0pt;font-family:"Lucida Sans","sans-serif";color:#595959"><o:p></o:p></span></b></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Calisto MT","serif";color:#595959">(o) 314.214.7163 | (m) 636.284.4082</span><span style="font-size:9.0pt;font-family:"Calisto MT","serif";color:#595959"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Calisto MT","serif";color:#595959"><a href="mailto:jason.whittington@equifax.com"><span style="color:#0563C1">jason.whittington@equifax.com</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
This message contains proprietary information from Equifax which may be confidential. If you are not an intended recipient, please refrain from any disclosure, copying, distribution or use of this information and note that such actions are prohibited. If you
 have received this transmission in error, please notify by e-mail postmaster@equifax.com. Equifax® is a registered trademark of Equifax Inc. All rights reserved.
</body>
</html>