我正在尝试在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 […]
用法:Haproxy作为SSL终止 要求:我们的私钥受密码保护,我们不允许删除私钥的密码 问题:如果我运行以下命令haproxy -f /pathtoconf将显示密码提示,一旦提供密码haproxy启动 为了克服这个问题,我使用了expect脚本,它自动提供密码 脚本自动填充密码 #!/usr/bin/expect -f set timeout 20 spawn nohup haproxy -f /opt/reverse-proxies/demo.cfg expect "Enter PEM pass phrase:" send "password\r" expect_background expect eof exit 我打算使用ansible-playbook将其自动化,但我的问题是有没有提供私钥密码的干净方式,我做了一些search,但找不到相同的configuration。 haproxy团队发表了一些声明:计划提供一个干净的方法,但是不能在1.6版本中实现,并计划在1.7版本中这样做。 我查看了1.7版本的发行说明,但是在这个话题上找不到太多内容。 有没有什么configurationhaproxy提供私钥密码或者如果有任何人已经实施了一个很好的解决scheme来克服这个问题,请你指导我在这个方向。 我的示例configuration global log 127.0.0.1 local2 debug defaults timeout connect 5000 timeout client 50000 timeout server 50000 #——————————————————————— # main frontend which proxys to […]
我在2个Windows服务器上安装了SSL,这些服务器被命名为Webserver&CoreServer,结构的最终输出应该是Https模式下的Web服务器,它使得客户端可以通过网页和Web服务器进行身份validation,它应该能够与Coreserver进行通信,在Https模式下运行,Coreserver将与Http模式的数据库服务器进行通信。 应用程序configuration旨在同时具有自定义密钥库和信任库。 我读了很多关于信任库和密钥库的文章,例如: KeyStore包含专用密钥,并且只有在SSL连接中运行服务器时才需要,或者在服务器端启用了客户端身份validation。 TrustStore存储来自用于信任远程方或SSL连接的CA(证书颁发机构)的公钥或证书。 configuration完成后,我可以在Https模式下启动Webserver&Coreserver,不存在任何可信的SSL问题。 但是,在两个服务器以Https模式运行之后,客户端无法通过网页进行通信。 造成这种情况的可能的问题是什么? 我通过浏览器控制台收到的错误如下所示: HTTP500:服务器错误 – 服务器遇到意外情况,无法完成请求。 我之前完成的步骤基本上是使用java keytool生成私钥并生成CSR以提交给CA. CA使用Root证书,中级证书和域名证书答复了我。 那么我应该将哪个证书分别导入到密钥库和信任库中,以及密钥库和信任库的configuration是否会导致此HTTP500错误? Java版本:1.8.0_131
我们已经完成了信任波扫描服务器,并告诉我们禁用TLSv1。 进入域configuration我已经删除了对TLSv1 ie的支持。 server { listen 443 ssl; listen [::]:443 ssl; server_name .domain.com; ssl_certificate /etc/nginx/ssl/www.domain.com/428394/server.crt; ssl_certificate_key /etc/nginx/ssl/www.domain.com/428394/server.key; ssl_protocols TLSv1.1 TLSv1.2; charset utf-8; access_log off; error_log /var/log/nginx/www.domain.com-error.log error; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://428394_app/; proxy_redirect off; # Handle Web Socket Connections proxy_http_version […]
[UPDATE] 我从几台服务器和本地机器上运行了openssl命令。 看起来端口9443不保持一致。 服务器1:9443上的密码与我查询的第一台服务器(RHEL5)保持不变。 但是,从本地计算机(Win7)和VM(RHEL6.9)查询得到0000密码。 我不认为中断与我的端口密码区别有关,因为额外的testing显示应用程序使用与最终用户相似的环境设置重新联机。 我正在读一篇 F5平衡器可能会导致问题的文章。 所以我会和pipe理员一起调查这条路线。 但是我仍然想知道为什么端口反映不同的密码以及如何纠正。 [/ UPDATE] 我有两台服务器,都有两个应用程序服务器的实例。 每个应用程序服务器实例都configuration为使用相同的SSL协议和密码。 从configuration: sslProtocols = "TLSv1,TLSv1.1,TLSv1.2" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA" 在某些情况下,客户报告了服务器1的故障Server1:9443 我从命令行运行: openssl s_client -connect server:port 服务器1:8443 Protocol : TLSv1 Cipher : AES128-SHA 服务器1:9443 Protocol : TLSv1 Cipher : DHE-RSA-AES256-SHA 服务器2:8443 Protocol : TLSv1 Cipher : AES128-SHA […]
我正在创build一个用户可以注册的网站构build器,它将创build一个子域名someuser.sitebuilder.com。 目前它不是SSL,因为我正在等待LetsEncrypt在1月份启动通配符SSL服务。 但是,用户也可以自己的域名,我也希望这也是HTTPS。 目前用户指向www.someuser.com到dns.sitebuilder.com工作正常。 我的服务还没有生效,但即将启动,并认为我可能会在我做之前解决这个问题。 我正在使用EC2(通过https://forge.laravel.com )。 我有我所有的其他服务使用SSL,但我不开始实施它的用户域名?
我试图configuration我的Apache服务器承载一切在HTTPS除了一个页面,我需要我的脚本能够访问。 目前,我被提示绕过不可信的SSL证书,这是破坏我的自动化。 这是我当前的000-default.conf文件中的SSLconfiguration。 Redirect permanent "/" "https://<ip>/word.php/" 我已经尝试在000-default.conf文件中添加这行来重写规则,但它没有奏效。 RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://<ip>/word.php [R,L] 我已经尝试了一切,似乎没有任何工作。 我没有.htaccess文件,所以请不要build议我修改。 谢谢您的帮助
我有一个运行在Red Hat Enterprise中的现有Apache 2.2.3服务器。 不幸的是,我现在需要使用https,而mod_ssl没有安装。 我希望我可以在yum做这个,避免重新编译Apache。 但是当我这样做: yum安装mod_ssl 我得到一个依赖错误: 缺less相关性:软件包1需要httpd = 2.2.3-22.el5_3.1:mod_ssl-2.2.3-22.el5_3.1.i386(rhel-i386-server-5) 我想我不知道如何让Apache识别该版本号。 “yum升级httpd”找不到任何升级。 “yum干净所有”没有帮助。 有人有主意吗? 如果我在重新编译httpd时遇到困难,那么确保我不在服务器中执行操作的最佳方法是什么?
我想为我们的组build立一个OpenID提供程序,我们可以使用它来login到内部和外部的OpenID感知服务(例如,stackoverflow.com)。 我们的用户都有我们的CA颁发的X.509证书,所以我认为理想的解决scheme是使用它来validation它们(即提供者不应该要求input密码)。 也许Apache FakeBasicAuth会从SSL连接的证书中提取用户名? 什么是最好的软件使用? 开源首选。
我刚刚使用以下命令在Windows 2008中configuration了一个内部SVN服务器: SVN 1.6.2 Apache 2.2.11 mod_ssl 2.2.11 OpenSSL 0.9.8j DAV 2 mod_auth_sspi 1.0.4 域证书由一个内部CA(一个Win 2003框)创build,导入到IIS中(仅仅是因为它是请求证书最简单的方式),导出为一个pfx文件,随后分解成使用的crt和密钥文件通过Apache + OpenSSL。 现在我想将我的服务器暴露给Internet。 为此,我必须在我们的ISA Server中发布Apache Web服务器。 我很难确定ISA服务器中正确的安全configuration。 在ISA服务器中是否有发布一个安全的Apache Web服务器的path(不pipe它是否充当SVN的前端)?