2016-07-28 95 views
0

我嘗試在多個容器(包括使用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; 
    } 
} 

我已經嘗試用內部碼頭ips w/o取代任何成功的domain.com地址。

+0

Containers在同一網絡上或鏈接? – opHASnoNAME

+0

感謝您的支持。容器在同一個網絡上,通過使用容器IP地址和端口(docker inspect),現在可以訪問gitlab。順便說一句,gitlab重定向到http://example.com/users/sign_in而不是http://example.com/gitlab/users/sign(我已將http://example.com/gitlab設爲外部網址gitlab.rb) –

回答

1

您可以使用自動Nginx的反向代理的搬運工集裝箱

nginx的代理設置了一個容器中運行nginx的和泊塢窗根。 docker-gen爲nginx生成反向代理配置,並在容器啓動和停止時重新加載nginx 。

+0

那麼,在這個階段,我想避免使用額外的容器。 –

+0

感謝您的支持,我終於可以解決這個問題與nginx代理和一些網絡修改如下所述http://stackoverflow.com/questions/36149196/setup-subdomains-in-docker-enviroment –