Use of “sub_filter” in “IF” block under nginx confignginx HTTPS serving with same config as HTTPIn Nginx, how can I rewrite all http requests to https while maintaining sub-domain?Reply with 200 from Nginx config without serving a fileNginx config reload without downtimeNginx Server Block ConfigNginx config: two applications under same domainnginx config separate location and under the locationnginx multiple sub_filter not workingnginx module sub_filter not work.multiple nginx config files under nginx/conf.d/ and 404

Does there exist a word to express a male who behaves as a female?

How hard would it be to convert a glider into an powered electric aircraft?

How do I write "Show, Don't Tell" as a person with Asperger Syndrome?

What can plausibly explain many of my very long and low-tech bridges?

Question about JavaScript Math.random() and basic logic

What are the peak hours for public transportation in Paris?

Are "living" organ banks practical?

Java guess the number

Russian equivalents of "no love lost"

Traffic law UK, pedestrians

siunitx error: Invalid numerical input

Is the term 'open source' a trademark?

Subtables with equal width?

Why does Kathryn say this in 12 Monkeys?

Cause of continuous spectral lines

Why only the fundamental frequency component is said to give useful power?

What's up with this leaf?

How to make horizontal space between a dot and a text equal to horizontal space between the dot of numerical label of numbered list and its item?

From the list of 3-tuples, how can I select tuples which contain one for more nines?

Last survivors from different time periods living together

Payment instructions from HomeAway look fishy to me

Do simulator games use a realistic trajectory to get into orbit?

Smooth switching between 12v batteries, with toggle switch

Does the "6 seconds per round" rule apply to speaking/roleplaying during combat situations?



Use of “sub_filter” in “IF” block under nginx config


nginx HTTPS serving with same config as HTTPIn Nginx, how can I rewrite all http requests to https while maintaining sub-domain?Reply with 200 from Nginx config without serving a fileNginx config reload without downtimeNginx Server Block ConfigNginx config: two applications under same domainnginx config separate location and under the locationnginx multiple sub_filter not workingnginx module sub_filter not work.multiple nginx config files under nginx/conf.d/ and 404






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








1















I have nginx as reverse_proxy server for multiple applications running behind on various application servers. I want induce specific html/script into response content for set pre-registered urls. These URLs may belongs any application behind nginx. For this i am using sub_filter for all urls and it is working fine. But when i try to put "sub_filter" in "IF" block it is now allowing.



I need something like below.



 resolver 8.8.8.8;
proxy_pass http://www.example.com;
proxy_set_header Accept-Encoding *;
gunzip on;
if ( $induceScript = 1)

sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
sub_filter_types *;
sub_filter_once off;




The following error message is displaying when i try restart nginx.



nginx: [emerg] "sub_filter" directive is not allowed here in /etc/openresty/openresty.conf



From this if i understand correctly "IF" directive not allowing "sub_fiter" inside it. Any specific reason existed for that? Also provide correct way/alternative way to solve this.










share|improve this question






























    1















    I have nginx as reverse_proxy server for multiple applications running behind on various application servers. I want induce specific html/script into response content for set pre-registered urls. These URLs may belongs any application behind nginx. For this i am using sub_filter for all urls and it is working fine. But when i try to put "sub_filter" in "IF" block it is now allowing.



    I need something like below.



     resolver 8.8.8.8;
    proxy_pass http://www.example.com;
    proxy_set_header Accept-Encoding *;
    gunzip on;
    if ( $induceScript = 1)

    sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
    sub_filter_types *;
    sub_filter_once off;




    The following error message is displaying when i try restart nginx.



    nginx: [emerg] "sub_filter" directive is not allowed here in /etc/openresty/openresty.conf



    From this if i understand correctly "IF" directive not allowing "sub_fiter" inside it. Any specific reason existed for that? Also provide correct way/alternative way to solve this.










    share|improve this question


























      1












      1








      1








      I have nginx as reverse_proxy server for multiple applications running behind on various application servers. I want induce specific html/script into response content for set pre-registered urls. These URLs may belongs any application behind nginx. For this i am using sub_filter for all urls and it is working fine. But when i try to put "sub_filter" in "IF" block it is now allowing.



      I need something like below.



       resolver 8.8.8.8;
      proxy_pass http://www.example.com;
      proxy_set_header Accept-Encoding *;
      gunzip on;
      if ( $induceScript = 1)

      sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
      sub_filter_types *;
      sub_filter_once off;




      The following error message is displaying when i try restart nginx.



      nginx: [emerg] "sub_filter" directive is not allowed here in /etc/openresty/openresty.conf



      From this if i understand correctly "IF" directive not allowing "sub_fiter" inside it. Any specific reason existed for that? Also provide correct way/alternative way to solve this.










      share|improve this question
















      I have nginx as reverse_proxy server for multiple applications running behind on various application servers. I want induce specific html/script into response content for set pre-registered urls. These URLs may belongs any application behind nginx. For this i am using sub_filter for all urls and it is working fine. But when i try to put "sub_filter" in "IF" block it is now allowing.



      I need something like below.



       resolver 8.8.8.8;
      proxy_pass http://www.example.com;
      proxy_set_header Accept-Encoding *;
      gunzip on;
      if ( $induceScript = 1)

      sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
      sub_filter_types *;
      sub_filter_once off;




      The following error message is displaying when i try restart nginx.



      nginx: [emerg] "sub_filter" directive is not allowed here in /etc/openresty/openresty.conf



      From this if i understand correctly "IF" directive not allowing "sub_fiter" inside it. Any specific reason existed for that? Also provide correct way/alternative way to solve this.







      nginx






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited May 4 '16 at 11:25







      Siva Kumar

















      asked May 4 '16 at 9:47









      Siva KumarSiva Kumar

      63




      63




















          1 Answer
          1






          active

          oldest

          votes


















          0














          Nginx doesn't allow sub_filter at if in location level as per the documentation you need to "bump" it up a level



          location /mylocation 
          error_page 418 = @sub_location;
          recursive_error_pages on;
          if ($induceScript = 1)
          return 418;


          location @sub_location
          sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
          sub_filter_types *;
          sub_filter_once off;
          proxy_pass http://www.example.com;
          proxy_set_header Accept-Encoding *;
          #add any other config you need here



          This does the check for $induceScript = 1 if it is true it returns a 418 error which is then passed to the location @sub_location which has the sub_filter directives now at the location level






          share|improve this answer

























          • I've assumed your if is in a location. If thats not the case can you expand on your config please

            – Drifter104
            May 4 '16 at 10:32











          • Hi thank you for the response. This is redirecting new location instead of proxy_pass

            – Siva Kumar
            May 4 '16 at 10:46












          • @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

            – Drifter104
            May 4 '16 at 10:56












          • Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

            – Siva Kumar
            May 4 '16 at 11:10











          • @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

            – Drifter104
            May 4 '16 at 11:20











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f774750%2fuse-of-sub-filter-in-if-block-under-nginx-config%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Nginx doesn't allow sub_filter at if in location level as per the documentation you need to "bump" it up a level



          location /mylocation 
          error_page 418 = @sub_location;
          recursive_error_pages on;
          if ($induceScript = 1)
          return 418;


          location @sub_location
          sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
          sub_filter_types *;
          sub_filter_once off;
          proxy_pass http://www.example.com;
          proxy_set_header Accept-Encoding *;
          #add any other config you need here



          This does the check for $induceScript = 1 if it is true it returns a 418 error which is then passed to the location @sub_location which has the sub_filter directives now at the location level






          share|improve this answer

























          • I've assumed your if is in a location. If thats not the case can you expand on your config please

            – Drifter104
            May 4 '16 at 10:32











          • Hi thank you for the response. This is redirecting new location instead of proxy_pass

            – Siva Kumar
            May 4 '16 at 10:46












          • @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

            – Drifter104
            May 4 '16 at 10:56












          • Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

            – Siva Kumar
            May 4 '16 at 11:10











          • @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

            – Drifter104
            May 4 '16 at 11:20















          0














          Nginx doesn't allow sub_filter at if in location level as per the documentation you need to "bump" it up a level



          location /mylocation 
          error_page 418 = @sub_location;
          recursive_error_pages on;
          if ($induceScript = 1)
          return 418;


          location @sub_location
          sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
          sub_filter_types *;
          sub_filter_once off;
          proxy_pass http://www.example.com;
          proxy_set_header Accept-Encoding *;
          #add any other config you need here



          This does the check for $induceScript = 1 if it is true it returns a 418 error which is then passed to the location @sub_location which has the sub_filter directives now at the location level






          share|improve this answer

























          • I've assumed your if is in a location. If thats not the case can you expand on your config please

            – Drifter104
            May 4 '16 at 10:32











          • Hi thank you for the response. This is redirecting new location instead of proxy_pass

            – Siva Kumar
            May 4 '16 at 10:46












          • @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

            – Drifter104
            May 4 '16 at 10:56












          • Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

            – Siva Kumar
            May 4 '16 at 11:10











          • @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

            – Drifter104
            May 4 '16 at 11:20













          0












          0








          0







          Nginx doesn't allow sub_filter at if in location level as per the documentation you need to "bump" it up a level



          location /mylocation 
          error_page 418 = @sub_location;
          recursive_error_pages on;
          if ($induceScript = 1)
          return 418;


          location @sub_location
          sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
          sub_filter_types *;
          sub_filter_once off;
          proxy_pass http://www.example.com;
          proxy_set_header Accept-Encoding *;
          #add any other config you need here



          This does the check for $induceScript = 1 if it is true it returns a 418 error which is then passed to the location @sub_location which has the sub_filter directives now at the location level






          share|improve this answer















          Nginx doesn't allow sub_filter at if in location level as per the documentation you need to "bump" it up a level



          location /mylocation 
          error_page 418 = @sub_location;
          recursive_error_pages on;
          if ($induceScript = 1)
          return 418;


          location @sub_location
          sub_filter "</body>" "<div class='induced' <font color=red size=8>Induced Text </font></div></body>";
          sub_filter_types *;
          sub_filter_once off;
          proxy_pass http://www.example.com;
          proxy_set_header Accept-Encoding *;
          #add any other config you need here



          This does the check for $induceScript = 1 if it is true it returns a 418 error which is then passed to the location @sub_location which has the sub_filter directives now at the location level







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited May 4 '16 at 11:36

























          answered May 4 '16 at 10:24









          Drifter104Drifter104

          3,16521735




          3,16521735












          • I've assumed your if is in a location. If thats not the case can you expand on your config please

            – Drifter104
            May 4 '16 at 10:32











          • Hi thank you for the response. This is redirecting new location instead of proxy_pass

            – Siva Kumar
            May 4 '16 at 10:46












          • @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

            – Drifter104
            May 4 '16 at 10:56












          • Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

            – Siva Kumar
            May 4 '16 at 11:10











          • @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

            – Drifter104
            May 4 '16 at 11:20

















          • I've assumed your if is in a location. If thats not the case can you expand on your config please

            – Drifter104
            May 4 '16 at 10:32











          • Hi thank you for the response. This is redirecting new location instead of proxy_pass

            – Siva Kumar
            May 4 '16 at 10:46












          • @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

            – Drifter104
            May 4 '16 at 10:56












          • Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

            – Siva Kumar
            May 4 '16 at 11:10











          • @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

            – Drifter104
            May 4 '16 at 11:20
















          I've assumed your if is in a location. If thats not the case can you expand on your config please

          – Drifter104
          May 4 '16 at 10:32





          I've assumed your if is in a location. If thats not the case can you expand on your config please

          – Drifter104
          May 4 '16 at 10:32













          Hi thank you for the response. This is redirecting new location instead of proxy_pass

          – Siva Kumar
          May 4 '16 at 10:46






          Hi thank you for the response. This is redirecting new location instead of proxy_pass

          – Siva Kumar
          May 4 '16 at 10:46














          @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

          – Drifter104
          May 4 '16 at 10:56






          @SivaKumar Do you mean: In your original config in the same location as the sub_filter parts you do proxy_pass?

          – Drifter104
          May 4 '16 at 10:56














          Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

          – Siva Kumar
          May 4 '16 at 11:10





          Exactly that's what i did. But i can change that config. I need extra content can be induced into specific url's proxy_pass response.

          – Siva Kumar
          May 4 '16 at 11:10













          @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

          – Drifter104
          May 4 '16 at 11:20





          @SivaKumar can you add more of your config to the question. If I understand you correctly you should just be able to add/duplicate the proxy_pass config from the original location into the new @sub_location that was created but the additional config would help clarify that

          – Drifter104
          May 4 '16 at 11:20

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f774750%2fuse-of-sub-filter-in-if-block-under-nginx-config%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

          Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

          Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020