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;
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
add a comment |
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
add a comment |
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
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
nginx
edited May 4 '16 at 11:25
Siva Kumar
asked May 4 '16 at 9:47
Siva KumarSiva Kumar
63
63
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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
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 thesub_filter
parts you doproxy_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
|
show 4 more comments
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
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 thesub_filter
parts you doproxy_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
|
show 4 more comments
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
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 thesub_filter
parts you doproxy_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
|
show 4 more comments
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
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
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 thesub_filter
parts you doproxy_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
|
show 4 more comments
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 thesub_filter
parts you doproxy_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
|
show 4 more comments
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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