I have services running in docker-compose and i want to reverse proxy to them using nginx
How do I reach my backend service through the proxy, at the moment Nginx not passing my request on to backend. I also want to strip out the /api/search before the request reaches the backend service (meilisearch)
meilisearch | [2022-07-11T14:00:02Z INFO actix_server::server] Actix runtime found; starting in Actix runtime
nginx | 172.25.0.1 - - [11/Jul/2022:14:00:09 +0000] "GET /api/search HTTP/1.1" 301 169 "-" "insomnia/2022.4.2" "-"
nginx | 2022/07/11 14:00:09 [error] 31#31: *1 "/etc/nginx/html/index.html" is not found (2: No such file or directory), client: 172.25.0.1, server: _, request: "GET /api/search/ HTTP/1.1", host: "127.0.0.1"
nginx | 172.25.0.1 - - [11/Jul/2022:14:00:09 +0000] "GET /api/search/ HTTP/1.1" 404 153 "-" "insomnia/2022.4.2" "-"
This is the reverse_proxy.conf file
server{
listen 80;
server_name _;
location /api/ {
location /api/search/ {
proxy_pass http://meilisearch:7700;
rewrite ^/api/search(/.*) $1 last;
}
}
}
This is the docker-compose.yml file
version: '3'
services:
nginx:
image: nginx:1.23.0-alpine
hostname: nginx
container_name: nginx
networks:
- safedawanetwork
ports:
- "80:80"
- "443:443"
volumes:
- ./reverse_proxy.conf:/etc/nginx/conf.d/default.conf
meilisearch:
image: getmeili/meilisearch:v0.28.0rc4
hostname: meilisearch
container_name: meilisearch
networks:
- safedawanetwork
networks:
safedawanetwork:
driver: bridge
When I start the services with sudo docker-compose up and curl localhost/api/search I expect to see the meilisearch response but I don't. Whats going on