I’m writing a simple reverse proxy to exchange a JWT for an API while connecting to a VOD service (livepeer). Testing on my machine, using docker.
But the request always hangs. Here’s the nginx.conf:
events {
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /dev/stdout;
error_log /dev/stdout;
server {
listen 8080;
server_name creators_proxy;
location /api {
auth_request /auth;
proxy_set_header Authorization 'Bearer here_goes_the_key';
proxy_pass https://livepeer.studio/api;
}
location = /auth {
internal;
proxy_pass here_goes_auth_url;
}
location = /auth2 {
proxy_pass here_goes_auth_url;
}
}
}
and the dockerfile:
# Use the official NGINX image as a parent image
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf
I build the container with docker run -d --name docker-nginx -p 8080:8080 -v ./nginx.conf:/etc/nginx/nginx.conf -d nginx_img
And call http://localhost:8080/api/asset/request-upload
The auth_url is from pipedream, to inspect the request going out. But the request never lands. I get:
upstream timed out (110: Connection timed out) while reading response header from upstream, client: 172.17.0.1, server: creators_proxy, request: "POST /api/asset/request-upload HTTP/1.1", subrequest: "/auth", upstream: "https://xx.xxx.xx.xx:443/auth", host: "localhost:8080"
What I’ve tried so far:
curl
‘d the auth url from my machine (it works)curl
‘d the auth url from the docker instance (it works)- Called location /auth2 to go directly to the auth_url (it works)
- Checked whether this nginx version has the auth_request module enabled (it has)
- Commented out the
auth_request
in the/api
location (doesn’t hang)
Any ideas?