2015-12-15 8 views
1

Я пытаюсь создать локальный репозиторий Docker, где я могу нажать мои изображения into.For этого я сделал следующие шагиDocker толчок с Artifactory

Настроенных Nginx с SSL Настроенных Nginx так, что он связывает докер местным Сделки рЕПО с именем сервера После моей конфигурация Nginx

upstream artifactory_lb { 
     server myLb.company.com:8081; 
     server myLb.company.com:8081 backup; 
} 

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; 

     ssl_certificate /etc/nginx/ssl/my-certs/myCert.pem; 
     ssl_certificate_key /etc/nginx/ssl/my-certs/myserver.key; 
     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; 

    server_name myLb.company.com; 
    if ($http_x_forwarded_proto = '') { 
     set $http_x_forwarded_proto $scheme; 
    } 

    rewrite ^/(v1|v2)/(.*) /api/docker/my_local_repo_key/$1/$2; 
    client_max_body_size 0; 
    chunked_transfer_encoding on; 
    location/{ 
    proxy_read_timeout 900; 
    proxy_pass_header Server; 
    proxy_cookie_path ~*^/.* /; 
    proxy_pass   http://artifactory_lb; 
    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; 
    } 
} 

Когда я пытаюсь нажать Docker изображения - docker push https://myLb.comapny.com/docker/api/image_name я получаю следующую ошибку

v2 ping attempt failed with error: Get https://myLb.company.com/v2/: x509: certificate signed by unknown authority 

Примечания: Я сделал проверить полномочие сертификата и другие репозитории в Artifactory работы без каких-либо проблем

Также установленного сертификат под /etc/docker/certs.d и т.д./SSL/CA-сертификаты и USR/local/share/ca-certificates

Что мне не хватает?

+0

Включает ли 'myCert.pem' какие-либо необходимые промежуточные сертификаты? –

+0

Нет, afaik Я получил сертификат .der, который затем конвертировал в .pem с openssl. –

+0

Проверьте часто задаваемые вопросы поставщика сертификатов и проверьте, нужен ли вам промежуточный сертификат. –

ответ

0

Возможно, вам не хватает цепочки сертификатов из конфигурации Nginx.

См: http://nginx.org/en/docs/http/configuring_https_servers.html#chains

Как получить эту цепочку сертификатов (промежуточный сертификат) зависит от сертификации. Вы сможете найти его с помощью своих инструкций CA. Например, для GoDaddy instructions направляет вас в этот репозиторий, где вы можете найти промежуточную цепочку сертификатов: https://certs.godaddy.com/repository