nginx reverse proxy inside docker with proxy_redirect defaultProxy HTTPS requests to a HTTP backend with NGINXHow to make nginx reverse proxy let 503 error pages pass through to client?nginx load balancer rewrite to listen portNGINX reverse proxy beind another nginx reverse proxyUniversal HTTPS to HTTP reverse proxy using nginxnginx reverse proxy with query parameter modificationError when using nginx in docker as reverse proxy to external sitesDocker Nginx reverse proxy configurationNginx reverse proxy to many local servers + webserver dutynginx reverse proxy to docker containers is timing out
Computing the differentials in the Adams spectral sequence
Are there practical reasons to NOT use a stepper motor with lead screw for the X and or Y axes?
Can The Malloreon be read without first reading The Belgariad?
GFCI Outlet in Bathroom, Lights not working
Accessing notepad from SSH Server
What is the right way to float a home lab?
Credit card offering 0.5 miles for every cent rounded up. Too good to be true?
How can I make 20-200 ohm variable resistor look like a 20-240 ohm resistor?
Opposite of "Squeaky wheel gets the grease"
What people are called boars ("кабан") and why?
Is American Express widely accepted in France?
How do I get a cleat that's stuck in a pedal, detached from the shoe, out?
Why is Colorado so different politically from nearby states?
Asking bank to reduce APR instead of increasing credit limit
*CoS Spolier* How is it possible for Mordenkainen to be alive during the Curse of Strahd adventure?
Restoring order in a deck of playing cards (II)
Access to all elements on the page
Accidentally cashed a check twice
If a problem only occurs randomly once in every N times on average, how many tests do I have to perform to be certain that it's now fixed?
Is having a hidden directory under /etc safe?
Beginner's snake game using PyGame
Does Peach's float negate shorthop knockback multipliers?
Why use water tanks from a retired Space Shuttle?
Is it OK to bring delicacies from hometown as tokens of gratitude for an out-of-town interview?
nginx reverse proxy inside docker with proxy_redirect default
Proxy HTTPS requests to a HTTP backend with NGINXHow to make nginx reverse proxy let 503 error pages pass through to client?nginx load balancer rewrite to listen portNGINX reverse proxy beind another nginx reverse proxyUniversal HTTPS to HTTP reverse proxy using nginxnginx reverse proxy with query parameter modificationError when using nginx in docker as reverse proxy to external sitesDocker Nginx reverse proxy configurationNginx reverse proxy to many local servers + webserver dutynginx reverse proxy to docker containers is timing out
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm trying to run lets-chat inside docker behind nginx acting as a reverse proxy so that lets-chat will be accessible on /chat over HTTP.
In the past when using nginx as a reverse proxy inside of docker for another docker container I set resolver 127.0.0.11 valid=300s;
so that nginx uses the docker DNS server and set proxy_pass
as a variable so that the nginx container can start without needing the upstream web service to be ready. Example.
However, lets-chat seems to need proxy_redirect default;
which the nginx configuration does not allow combined with a variable proxy_pass.
Does anyone know a way around this to get the desired effect? I've tried a few manual redirects with no luck. My relevant nginx config is below.
# use docker's nameserver for changing container IPs
resolver 127.0.0.11 valid=300s;
resolver_timeout 5s;
server
listen 80;
server_name localhost;
location /
root /usr/share/nginx/html;
index index.html index.htm;
location /chat/
# I would like this part to work
#set $chat_backend http://chat_server:8080/;
#proxy_pass $chat_backend;
# But I can only get it to work like this
proxy_pass http://chat_server:8080/;
proxy_redirect / /chat/;
proxy_redirect default; # this line errors when setting a variable to proxy_pass
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
Thanks.
nginx reverse-proxy docker proxypass
add a comment |
I'm trying to run lets-chat inside docker behind nginx acting as a reverse proxy so that lets-chat will be accessible on /chat over HTTP.
In the past when using nginx as a reverse proxy inside of docker for another docker container I set resolver 127.0.0.11 valid=300s;
so that nginx uses the docker DNS server and set proxy_pass
as a variable so that the nginx container can start without needing the upstream web service to be ready. Example.
However, lets-chat seems to need proxy_redirect default;
which the nginx configuration does not allow combined with a variable proxy_pass.
Does anyone know a way around this to get the desired effect? I've tried a few manual redirects with no luck. My relevant nginx config is below.
# use docker's nameserver for changing container IPs
resolver 127.0.0.11 valid=300s;
resolver_timeout 5s;
server
listen 80;
server_name localhost;
location /
root /usr/share/nginx/html;
index index.html index.htm;
location /chat/
# I would like this part to work
#set $chat_backend http://chat_server:8080/;
#proxy_pass $chat_backend;
# But I can only get it to work like this
proxy_pass http://chat_server:8080/;
proxy_redirect / /chat/;
proxy_redirect default; # this line errors when setting a variable to proxy_pass
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
Thanks.
nginx reverse-proxy docker proxypass
add a comment |
I'm trying to run lets-chat inside docker behind nginx acting as a reverse proxy so that lets-chat will be accessible on /chat over HTTP.
In the past when using nginx as a reverse proxy inside of docker for another docker container I set resolver 127.0.0.11 valid=300s;
so that nginx uses the docker DNS server and set proxy_pass
as a variable so that the nginx container can start without needing the upstream web service to be ready. Example.
However, lets-chat seems to need proxy_redirect default;
which the nginx configuration does not allow combined with a variable proxy_pass.
Does anyone know a way around this to get the desired effect? I've tried a few manual redirects with no luck. My relevant nginx config is below.
# use docker's nameserver for changing container IPs
resolver 127.0.0.11 valid=300s;
resolver_timeout 5s;
server
listen 80;
server_name localhost;
location /
root /usr/share/nginx/html;
index index.html index.htm;
location /chat/
# I would like this part to work
#set $chat_backend http://chat_server:8080/;
#proxy_pass $chat_backend;
# But I can only get it to work like this
proxy_pass http://chat_server:8080/;
proxy_redirect / /chat/;
proxy_redirect default; # this line errors when setting a variable to proxy_pass
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
Thanks.
nginx reverse-proxy docker proxypass
I'm trying to run lets-chat inside docker behind nginx acting as a reverse proxy so that lets-chat will be accessible on /chat over HTTP.
In the past when using nginx as a reverse proxy inside of docker for another docker container I set resolver 127.0.0.11 valid=300s;
so that nginx uses the docker DNS server and set proxy_pass
as a variable so that the nginx container can start without needing the upstream web service to be ready. Example.
However, lets-chat seems to need proxy_redirect default;
which the nginx configuration does not allow combined with a variable proxy_pass.
Does anyone know a way around this to get the desired effect? I've tried a few manual redirects with no luck. My relevant nginx config is below.
# use docker's nameserver for changing container IPs
resolver 127.0.0.11 valid=300s;
resolver_timeout 5s;
server
listen 80;
server_name localhost;
location /
root /usr/share/nginx/html;
index index.html index.htm;
location /chat/
# I would like this part to work
#set $chat_backend http://chat_server:8080/;
#proxy_pass $chat_backend;
# But I can only get it to work like this
proxy_pass http://chat_server:8080/;
proxy_redirect / /chat/;
proxy_redirect default; # this line errors when setting a variable to proxy_pass
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
Thanks.
nginx reverse-proxy docker proxypass
nginx reverse-proxy docker proxypass
edited May 23 '17 at 12:41
Community♦
1
1
asked May 21 '17 at 0:27
lanratlanrat
4323617
4323617
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
From the manual, the following statements are equivalent:
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect default;
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect http://chat_server:8080/ /chat/;
proxy_redirect default
does not work if the value of proxy_pass
is not a literal string, however, proxy_redirect
itself can also be constructed from variables.
So this solution may work for you:
location /chat/
set $chat_backend http://chat_server:8080/;
proxy_pass $chat_backend;
proxy_redirect / /chat/;
proxy_redirect $chat_backend /chat/;
...
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
add a comment |
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%2f851331%2fnginx-reverse-proxy-inside-docker-with-proxy-redirect-default%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
From the manual, the following statements are equivalent:
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect default;
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect http://chat_server:8080/ /chat/;
proxy_redirect default
does not work if the value of proxy_pass
is not a literal string, however, proxy_redirect
itself can also be constructed from variables.
So this solution may work for you:
location /chat/
set $chat_backend http://chat_server:8080/;
proxy_pass $chat_backend;
proxy_redirect / /chat/;
proxy_redirect $chat_backend /chat/;
...
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
add a comment |
From the manual, the following statements are equivalent:
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect default;
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect http://chat_server:8080/ /chat/;
proxy_redirect default
does not work if the value of proxy_pass
is not a literal string, however, proxy_redirect
itself can also be constructed from variables.
So this solution may work for you:
location /chat/
set $chat_backend http://chat_server:8080/;
proxy_pass $chat_backend;
proxy_redirect / /chat/;
proxy_redirect $chat_backend /chat/;
...
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
add a comment |
From the manual, the following statements are equivalent:
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect default;
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect http://chat_server:8080/ /chat/;
proxy_redirect default
does not work if the value of proxy_pass
is not a literal string, however, proxy_redirect
itself can also be constructed from variables.
So this solution may work for you:
location /chat/
set $chat_backend http://chat_server:8080/;
proxy_pass $chat_backend;
proxy_redirect / /chat/;
proxy_redirect $chat_backend /chat/;
...
From the manual, the following statements are equivalent:
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect default;
location /chat/
proxy_pass http://chat_server:8080/;
proxy_redirect http://chat_server:8080/ /chat/;
proxy_redirect default
does not work if the value of proxy_pass
is not a literal string, however, proxy_redirect
itself can also be constructed from variables.
So this solution may work for you:
location /chat/
set $chat_backend http://chat_server:8080/;
proxy_pass $chat_backend;
proxy_redirect / /chat/;
proxy_redirect $chat_backend /chat/;
...
answered May 21 '17 at 8:50
Richard SmithRichard Smith
6,9732817
6,9732817
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
add a comment |
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
Thanks for the response, that was one one of the things I tried, but unfortunately when I use that and visit /chat/ I get stuck in a redirect loop to /chat/login.
– lanrat
May 21 '17 at 16:58
add a comment |
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%2f851331%2fnginx-reverse-proxy-inside-docker-with-proxy-redirect-default%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