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

          How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

          What if the end-user didn't have the required library?What is setup.py?What is a clean, pythonic way to have multiple constructors in Python?What does Ruby have that Python doesn't, and vice versa?What is the reason for having '//' in Python?How do I create a namespace package in Python?How to package shared objects that python modules depend on?setuptools vs. distutils: why is distutils still a thing?Navigation in Windows 10 vs code not going to virtualenv library when the same library is installed at user levelPython create package for local usePackaging a project that uses multiple python versionsWhy is permission denied on pip install except for when “--user” is included at end of command?

          Why did Thanos need his ship to help him in the battle scene?Which actor plays Thanos in the Avengers mid-credits scene?Are there economic implications portrayed in comics where the buildings and cities are ruined almost daily?Old X-Men comic where team travels to alien world with a ring-like sun that needs recharging?Why does Ego need help sleeping?Is there an objective answer to who “the strongest Avenger” is?How did Banner get unstuck?Why did Thanos get hit?How did Thanos (or anyone) know the Infinity Stones would give him this power?Did Thanos leave Eitri alive for his after-sales service?In Avengers 1, why does Thanos need Loki?