Tag: ssl

如何将JKS转换为Docker Registry cert / key?

我正在尝试在两个虚拟机(HA)上build立一个安全的Docker Registry ,并对设置SSL有疑问。 根据文档中的链接,我需要一个有两个文件的certs目录: registry.crt – CA证书 registry.key – ??? (私钥?) 我已经得到了一个Java JKS(密钥库),其中包含一个可用于这些VM的通配符CA证书。 我能够成功地从密钥库中导出证书,如下所示: keytool -export -alias certalias -file registry.crt -keystore mycerts.jks 到目前为止这么好:我有registry.crt 。 然而,一些相关的问题/担忧阻止我完成这个设置: 什么是*.key文件,它与cert有什么不同,以及如何从JKS中提取它? Docker / Registry在哪里期望在每个虚拟机上的这个certs目录? 也许/home/myuser/ ? 这个位置是可configuration的吗?!? 正如链接所解释的,如果您的CA证书是“ 中介 ”证书,则需要采取特殊的附加措施。 我怎么知道我的证书是否中介?

docker推入TLS超时?

我正在尝试将docker映像推送到使用SSL保护的artifactory。 artifactory服务器由一个nginx负载均衡器支持,configuration如下 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; […]

无法从泊坞窗镜像连接到HTTPS(443)

我安装了一个新的专用服务器上的docker(在通用的Ubuntu 14.0 – Linux内核3.13.0-71)。 我安装了一个Ubuntu的Docker镜像来testing环境。 (docker运行-it Ubuntu的bash),我安装curl与openssl的支持。 当我尝试获取HTTP页面的内容时,我没有任何问题。 当我尝试加载HTTPS页面时,我的连接被拒绝: root@835f01fef568:/# curl https://www.google.com curl: (7) Failed to connect to www.google.com port 443: Connection refused 在详细模式下我有: root@835f01fef568:/# curl -V https://www.google.com curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet […]

Spring Boot 1.4.1 SSL trustAnchorsexception

我正在运行Docker容器(docker-compose)内的Spring Boot微服务进行testing,最近试图从Spring Boot 1.4.0升级到1.4.1(也试过1.4.2),但是服务启动失败 InvalidAlgorithmParameterException:trustAnchors参数必须是非空exception。 我没有遇到任何运行Spring Boot 1.4.0的问题。 下面提供了用于其中一个服务的Dockerfile(一些敏感值已被replace,尝试1.4.2,结果相同。 当我在命令行上运行服务时会发生同样的行为,下面的Dockerfile中列出了所有的环境variables和Java参数。 这里是日志的摘录: 2016-11-10 08:10:06.645 ERROR [sbsa-account-om-service,,,] 1 — [ main] o.apache.catalina.core.StandardService : Failed to start connector [Connector[HTTP/1.1-8762]] org.apache.catalina.LifecycleException: Failed to start component [Connector[HTTP/1.1-8762]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) ~[tomcat-embed-core-8.5.5.jar!/:8.5.5] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:225) ~[tomcat-embed-core-8.5.5.jar!/:8.5.5] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:233) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:178) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:297) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:145) [spring-boot-1.4.1.RELEASE.jar!/:1.4.1.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) [spring-context-4.3.3.RELEASE.jar!/:4.3.3.RELEASE] at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) […]

将我的站点cert.key和cert.pem放在Nginx Docker容器中是否是一个好习惯?

在本地我一直在开发一个Nginx容器,它的所有ssl configs和ssl证书都在一个目录中。 但是,现在我正要转向prod,我很好奇,如果在nginx容器中有证书是好的做法? 或者,我可以直接将证书放在服务器上。 对社区对此有何看法感到好奇。

创buildTLSconfiguration时出错(v1.3.7)

我一直在摆弄Traefik几个小时,发现它非常有趣。 但是,我遇到了一个我自己无法解决的问题。 这是一个非常简单的设置,只是试图testingHTTP到HTTPSredirect和我的SSL证书。 我有以下docker-compose.yml version: '2' services: traefik: image: traefik:v1.3.7-alpine ports: – "80:80" – "443:443" – "8080:8080" volumes: – /var/run/docker.sock:/var/run/docker.sock:z – /opt/dockerapp/rocketchat/traefik/traefik.toml:/etc/traefik/traefik.toml:ro,z – /opt/dockerapp/rocketchat/traefik/ssl:/etc/traefik/ssl/:ro,z command: –logLevel=DEBUG 我的traefik.toml是 defaultEntryPoints = ["http", "https"] [entryPoints] [entryPoints.http] address = ":80" [entryPoints.http.redirect] entryPoint = "https" [entryPoints.https] address = ":443" [entryPoints.https.tls] [[entryPoints.https.tls.certificates]] CertFile = "ssl/mycert.pem" KeyFile = "ssl/mycert.key" [docker] domain = […]

CentOS7:你是否试图连接到启用TLS的守护进程而不使用TLS?

我已经在CentOS7上安装了Docker,现在我尝试在Docker容器中启动服务器。 $ docker run -d –name "openshift-origin" –net=host –privileged \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /tmp/openshift:/tmp/openshift \ openshift/origin start 这是输出: Post http:///var/run/docker.sock/v1.19/containers/create?name=openshift-origin: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS? 我已经尝试了与sudo相同的命令,并且工作正常(我也可以在OpenShift bash等运行图像),但它感觉不对,使用它,对不对? 什么是让普通用户工作的解决scheme? Docker正在运行( sudo service docker start )。 重新启动CentOS没有帮助。

在artifactory中将Docker存储库configuration为子域

我们正在尝试在artifactory版本4.11.1中build立一个docker仓库,以下是设置 — Created a local docker repo – docker-local — Created a virtual dokcer repo – docker-virtual — Created a remote docker repo – docker-hub — Configured docker-local to be the default deployment repo 我们正在使用支持reverse-proxy.company.com和docker-virtual.reverse-proxy.company.com的多域名证书 问题是应该将nginxconfiguration设置为以下 server { listen 80; listen 443; server_name docker-virtual.reverse-proxy.company.com reverse-proxy.company.com; ….. other confug } 有了这个设置,我期望客户连接到虚拟回购 docker push docker-virtual.reverse-proxy.company.com/<my-image> 这是一个有效的设置? 请注意,我们没有通配符证书,它不是一个选项。 […]

Docker与Nginx – https不工作

我对使用Docker比较陌生。 我用Nginx,PHP和Mysql设置了一个Docker容器。 我可以从虚拟机( http://192.168.99.100/ )访问IP,一切正常。 但是,当我转到https://192.168.99.100/时 ,Chrome会放置笑脸,并说ERR_CONNECTION_RESET 如何让Nginx为环境启用SSL证书? 我正在使用Windows 10,而VM使用的是Virtualbox, 而不是 Hyper-V

一个不安全的dockerpipe理员registry可以得到一个CA签名证书,以便客户自动信任它吗?

目前,我已经以如下方式build立了一个registry: docker run -d \ -p 10.0.1.4:443:5000 \ –name registry \ -v `pwd`/certs/:/certs \ -v `pwd`/registry:/var/lib/registry \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/certificate.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/private.key \ registry:latest 使用Docker版本17.06.2-ce,构buildcec0b72 我从Let's Encrypt获得了我的certificate.crt,private.key和ca_bundle.crt。 在nginx服务器上使用这些证书时,我能够build立https连接,而不必显式信任客户端机器/浏览器上的证书。 是否可以使用类似于通过https访问的CAauthentication网站的Dockerregistry来设置用户体验?浏览器/机器在哪里信任根CA以及包括我的证书在内的根CA? 注意: 我当然可以在客户docker文件中指定证书,如本教程所述: https : //docs.docker.com/registry/insecure/#use-self-signed-certificates 。 但是,这不是我的需求的适当解决scheme。 curl -v https://docks.behar.cloud/v2/输出curl -v https://docks.behar.cloud/v2/ : * Trying 10.0.1.4… * TCP_NODELAY set * Connected to docks.behar.cloud (10.0.1.4) port 443 […]