Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

So I’m trying to use NGINX as a reverse proxy for 2 react apps and 1 node js api. Each in separate docker containers.
The restapi service must be hosted on a seperated port as the portal by default. The nginx proxy configuration must include a route for the Portal on port 443 and a route for the restapi and admin portal must have a seperate route entry on a different Port like 8443.
With my current nginx configuration I expect the following behavior: localhost leads to one react app called portal, localhost/adminportal/ -> leads to another react app admin portal, localhost/api-portal/ -> leads to the api fo the portal app, and localhost/api-adminportal/ -> leads to the api fo the admin portal app
But at this moment only the first and second example (localhost/ and localhost/adminportal/) is working properly, the other two show a nginx error page.
And When i try to acess localhost/api-portal/ i have this error in my log file of my nginx container:
2022/04/10 20:43:33 [error] 30#30: *57 upstream prematurely closed connection while reading response header from upstream, client: 172.28.0.1, server: localhost, request: "GET /api/ HTTP/1.1", upstream: "http://172.28.0.3:3333/", host: "localhost:8443"
172.28.0.1 - - [10/Apr/2022:20:43:33 +0000] "GET /api/ HTTP/1.1" 502 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" "-"
This is my nginx configuration:
server {
listen 80;
server_name localhost 127.0.0.1 0.0.0.0;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name localhost 127.0.0.1 0.0.0.0;
ssl_certificate /etc/nginx/cert/cert.pem;
ssl_certificate_key /etc/nginx/cert/key.pem;
location / {
proxy_pass http://fpr-frontend:3000/;
}
# include /etc/nginx/conf.d/koma/*.conf;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}port
}
server {
listen 8443 ssl;
server_name localhost 127.0.0.1 0.0.0.0;
ssl_certificate /etc/nginx/cert/cert.pem;
ssl_certificate_key /etc/nginx/cert/key.pem;
location /adminportal/ {
proxy_pass http://fpr-adminportal:3001/adminportal/;
}
location /api-adminportal/ {
proxy_pass http://fpr-backend:3335/;
}
location /api-portal/ {
proxy_pass http://fpr-backend:3333/;
}
# include /etc/nginx/conf.d/koma/*.conf;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Below is my docker-compose file:
version: "3.2"
volumes:
mongodata:
services:
fpr-backend:
build:
context: .
dockerfile: Dockerfile.backend
image: fpr-backend
env_file: ./config/fpr-backend.env
environment:
FRONTEND_URL: http://localhost:8000/
FRONTEND_ADMIN_PORTAL_URL: https://localhost:8443/adminportal/
depends_on:
- mongo
expose:
- "3333"
- "3335"
ports:
- "3333:3333/tcp"
- "3335:3335/tcp"
command: ["yarn", "start"]
fpr-frontend:
build:
context: .
dockerfile: Dockerfile.frontend
args:
VITE_BACKEND_URL: https://localhost:3333/
image: fpr-frontend
env_file: ./config/fpr-frontend.env
depends_on:
- fpr-backend
expose:
- "3000"
command: ["yarn", "serve", "--host=fpr-frontend", "--port=3000"]
fpr-adminportal:
stdin_open: true # docker run -i
tty: true # docker run -t
build:
context: .
dockerfile: Dockerfile.adminportal
args:
PORT: 3001
REACT_APP_API_URL: https://localhost:3335/
image: fpr-adminportal
env_file: ./config/fpr-adminportal.env
environment:
- PUBLIC_URL=https://localhost:8443/adminportal/
depends_on:
- fpr-backend
expose:
- "3001"
command: ["yarn","dev"]
mongo:
image: mongo
env_file: ./config/mongo.env
volumes:
- mongodata:/etc/mongo
nginx:
image: nginx
depends_on:
- fpr-backend
- fpr-frontend
- fpr-adminportal
volumes:
- ./config/nginx/conf.d/:/etc/nginx/conf.d/
- ./modules/fpr-backend/certificates/UserPortal:/etc/nginx/cert
expose:
- "443"
- "8443"
ports:
- "8000:80/tcp"
- "443:443/tcp"
- "8443:8443/tcp"
fpr-backend(api) dockerfile:
FROM node:14-alpine
WORKDIR /source
COPY ./modules/fpr-backend/package.json .
COPY ./modules/fpr-backend/yarn.lock .
RUN yarn
COPY ./modules/fpr-backend/ .
EXPOSE 3333
EXPOSE 3335
CMD [ "yarn" , "start" ]
009fd274aeae48f2bfbda6ef568676
Cloudstream Apk
Ruz
Ruz
Edward Sitarski
ebeecroft
dashan
34bcef38725b4e6eb5224ae028f17e
markatango
gouskova