nginx를 사용하여 gitlab을 포함한 여러 컨테이너 앞에 리버스 프록시를 설정하려고합니다. 기본적으로 mydomain.com/gitlab에 액세스하려고 할 때 mydomain.com : 7777로 전달하려고합니다.설정 컨테이너 리버스 프록시
두 서버가 자체 컨테이너를 통해 실행 중이며 두 서버가 모두 실행 중입니다. 그러나 요청이 gitlab에 전달되지 않습니다.
여기서 내 config.d 파일은 nginx입니다.
upstream gitlab {
server mydomain.com:7777 fail_timeout=0;
}
# let gitlab deal with the redirection
server {
listen *:80;
server_name mydomain.com;
server_tokens off;
root /dev/null;
# Increase this if you want to upload larger attachments
client_max_body_size 20m;
# individual nginx logs for this vhost
access_log /var/log/nginx/gitlab_access.log;
error_log /var/log/nginx/gitlab_error.log;
location /gitlab/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://gitlab;
}
}
domain.com 주소를 내부 도커로 대체하려고 시도했지만 성공하지 못했습니다.
동일한 네트워크에 있거나 연결된 컨테이너? – opHASnoNAME
지원해 주셔서 감사합니다. 컨테이너가 동일한 네트워크에 있고 컨테이너 IP 주소와 포트 (도커 검사)를 사용하면 이제 gitlab에 액세스 할 수 있습니다. 그런데 gitlab은 http://example.com/gitlab/users/sign 대신 http://example.com/users/sign_in으로 리디렉션됩니다 (http://example.com/gitlab을 외부 URL로 설정했습니다). –