docker compose nginx 프록시 환경 phpmyadmin
본문
nginx proxy ( nginx.conf )
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 )
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
자답입니다.
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;
}
답변을 작성하시기 전에 로그인 해주세요.