2015-12-21 30 views
0

我想使用artifactory作爲碼頭註冊表。但推碼器圖像會導致錯誤的網關錯誤。Artifactory壞的網關錯誤

以下是我nginx的配置

upstream artifactory_lb { 
     server artifactory01.mycomapany.com:8081; 
     server artifactory01.mycomapany.com:8081 backup; 
     server myLoadBalancer.mycompany.com:8081; 
} 

log_format upstreamlog '[$time_local] $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time'; 

server { 
     listen 80; 
     listen 443 ssl; 
     client_max_body_size 2048M; 
     location/{ 
       proxy_set_header Host $host:$server_port; 
       proxy_pass http://artifactory_lb; 
       proxy_read_timeout 90; 
     } 
     access_log /var/log/nginx/access.log upstreamlog; 
     location /basic_status { 
       stub_status on; 
       allow all; 
       } 
} 

# Server configuration 

server { 
    listen 2222 ssl default_server; 
    ssl_certificate /etc/nginx/ssl/self-signed/self.crt; 
    ssl_certificate_key /etc/nginx/ssl/self-signed/self.key; 
    ssl_protocols TLSv1.1 TLSv1.2; 
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; 
    ssl_prefer_server_ciphers on; 
    ssl_session_cache shared:SSL:10m; 

    server_name myloadbalancer.mycompany.com; 
    if ($http_x_forwarded_proto = '') { 
     set $http_x_forwarded_proto $scheme; 
    } 

    rewrite ^/(v1|v2)/(.*) /api/docker/docker_repo/$1/$2; 
    client_max_body_size 0; 
    chunked_transfer_encoding on; 
    location/{ 
    proxy_read_timeout 900; 
    proxy_pass_header Server; 
    proxy_cookie_path ~*^/.* /; 
    proxy_set_header X-Artifactory-Override-Base-Url $http_x_forwarded_proto://$host; 
    proxy_set_header X-Forwarded-Port $server_port; 
    proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; 
    proxy_set_header Host    $http_host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for 
    proxy_pass http://myloadbalancer.company.com:8081/artifactory/; 

    } 

} 

我用推圖像的泊塢窗命令

docker push myloadbalancer:2222/image_name 

Nginx的錯誤日誌顯示以下錯誤24084 connect()的失敗(111:連接被拒絕)當連接到上游時,客戶端:internal_ip,服務器:,請求:「GET/artifactory/inhouse HTTP/1.0」,上游:「http:/ internal_ip:8081/artifactory/repo」

我錯過了什麼?

回答

0

這可以通過更改代理傳遞以指向任何上游服務器來解決。

proxy_pass http://artifactory_lb;