我正在尝试在docker-container中使用httpsbuild立我自己的gitlab。
那么,只要我不尝试使用https一切工作正常!
现在我的问题开始了。
根据我的日志,由于“malformatting”,gitlab无法加载sub.domain.com.crt文件。
我正在使用Letsencryption,我有一个cert.pem,privkey.pem,fullchain.pem和一个chain.pem。 我认为唯一需要的文件是fullchain.pem和privkey.pem。
好吧,我现在告诉我到目前为止所做的步骤:1.我创build了一个docker-compose.yml 。
web: image: 'gitlab/gitlab-ce:latest' restart: always hostname: 'git.domain.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://git.domain.com' # Add any other gitlab.rb configuration here, each on its own line ports: - '20080:80' - '20443:443' - '20022:22' volumes: - '/srv/gitlab/config:/etc/gitlab' - '/srv/gitlab/logs:/var/log/gitlab' - '/srv/gitlab/data:/var/opt/gitlab'
docker-compose up -d来启动它。 我有一个目录/srv/gitlab/config/ssl/ ,其中我的fullchain.pem和我的privkey.pem被存储。 我转换这些文件使用openssl x509 ...得到一个git.domain.com.crt和一个git.domain.com.key文件(我也试过这只是简单地复制这些文件,只是改变文件扩展名工作更好因为我可以“读”这些文件的内容…)。
我有权访问我的容器中的文件/etc/gitlab/ssl/git.domain.com.crt ,我的日志说: 2017/10/12 18:06:36 [emerg] 2176#0: PEM_read_bio_X509_AUX("/etc/gitlab /ssl/git.domain.com.crt") failed (SSL:error:0906D06C:PEMroutines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
这些.pem文件是使用letsencrypt创build的。 在下面你可以看到我的fullchain.pem的输出。
-----BEGIN CERTIFICATE----- MIIFATCCA+mgAwIBAgISA0XaZQaUu+WRxU05xvO36gAFMA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzEwMTIxNjQ1MzZaFw0x [...] LzANBgkqhkiG9w0BAQsFAAOCAQEAQQBhsE1JYkmrdnLEZXp8iJU6niatU7MAgeab 7ztd7mKJMr8rQ03HrBDdjQaO8S5S9hykTs6zTrU7zkRoQ27oNKFIlszHVg+2DL3/ S8Veur+WhlzAi8MlchFkMf28YI0RkbxVuJcrV0yxE7tfqKg8X5rvbeH6PoDMYydO a5ZY1CNpR7Jrq+Tn+NoOq9qU8e2+ZMnD2FVxDoe17okWKiXk1Ogs0q1MyPbrE2c4 4KTYq3lnyhNAo1orGrNmGe+xzs7ikUjy+wzoJy3kcIjuEg8H3Bj5eNWsWJllTF0Y I76E+yK1e2MzDhBpim27hVbwBzn/lpm/dwYs+DpAnYb0Naw/9w== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ [...] -----END CERTIFICATE-----
有人提示我错过了什么吗?
非常感谢!
亲切的问候,Patrick