docker compose nginx 프록시 환경 phpmyadmin

nginx proxy ( nginx.conf )

Copy
location / {
        proxy_pass           http://docker-phpmyadmin;
        proxy_redirect       off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
 }

 location ~ ^/myadmin/ {
        proxy_pass           http://docker-phpmyadmin;
        proxy_redirect       off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
}

 

docker compose ( docker-compose.yml )

Copy
nginx-proxy:
        image: nginx:latest
        restart: always
        volumes:
            - "./workspace/var/log/nginx-proxy:/var/log/nginx"
            - "./workspace/etc/nginx-proxy/nginx.conf:/etc/nginx/nginx.conf"
            - "./workspace/etc/nginx-proxy/conf.d:/etc/nginx/conf.d"
        ports:
            - "80:80"
            - "443:443"

 phpmyadmin:
        image: phpmyadmin/phpmyadmin
        depends_on:
            - mariadb
        restart: always
        expose:
            - "80"
        links:
            - mariadb:db

 

위와 같이 구성된 환경입니다.

도커 컴포즈로 실행시키고 http://domain.com 으로 접속시에는 정상적으로 phpmyadmin으로 접속되는데 http://domain.com/myadmin 으로 접속시에는 docker-phpmyadmin 쪽 아파치 404에러가 납니다.

몇일째 해결을 못하네요ㅠㅠ

해결방법을 알고계신분 있으면 꼭 답변부탁드립니다.

 

ps. 코드는 해당 파일의 일부입니다.

|

답변 1개 / 댓글 1개

자답입니다.

Copy
location /myadmin/ {
        proxy_pass         http://docker-phpmyadmin;
        rewrite ^/myadmin(/.*) $1 break;
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
}

답변에 대한 댓글 1개

이러면 해결 되요?

답변을 작성하려면 로그인이 필요합니다.