ECS禅道配置https访问
下载证书
我使用是的Lets Encrypt的免费证书,Let’s Encrypt 是一家免费、开放、自动化的证书颁发机构(CA),为公众的利益而运行。 它是一项由 Internet Security Research Group (ISRG) 提供的服务。Let’s Encrypt官网
Lets Encrypt官方推荐的客户端工具Certbot用起来有点繁琐,比较麻烦,需要依赖Python环境,这里用的是另外一个客户端工具acme.sh,这个比起Certbot来不用依赖Python环境,而且使用和安装都比较简洁,比较推荐。acme.sh相关说明
安装acme.sh
curl https://get.acme.sh | sh -s email=your@example.com
出现下图表示安装成功
生成证书
acme.sh 提供了http方式和DNS方式生成,这里选择的是DNS,执行命令:
acme.sh --renew -d yourdomain.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please
这里会验证这个域名是否真的属于你,需要在你的域名控制台加入TXT解析
我的阿里云域名控制台:
执行命令,注意这里是--renew:
acme.sh --renew -d yourdomain.com \ --yes-I-know-dns-manual-mode-enough-go-ahead-please
执行成功后,acme.sh默认下载下来的证书是放在家目录,下的.acme.sh/yourdomain.com下的
我们不能直接用这个目录下的证书文件,这个目录是给acme.sh程序内部使用的,目录可能会变,应该拷贝到对应应用目录下,我这里是直接在禅道/opt/zbox/etc/下新建了ssl目录
拷贝命令:
cp -r /root/.acme.sh/pms.catwithfish.cn/* /opt/zbox/etc/ssl
配置禅道
因为禅道用的是apache服务器,我们直接修改apache配置,我用的禅道linux一键安装包,路径在/opt/zbox/etc/apache/httpd.conf
修改的地方有两处,新增Listen 443
新增443相关配置:
VirtualHost *:443 ServerAdmin zentao@local.net DocumentRoot "/opt/zbox/app/zentao/www/" ServerName localhost# ServerAlias *.xxx.com SSLEngine On SSLCertificateFile /opt/zbox/etc/ssl/pms.catwithfish.cn.cer SSLCertificateKeyFile /opt/zbox/etc/ssl/pms.catwithfish.cn.key SSLCertificateChainFile /opt/zbox/etc/ssl/fullchain.cer Directory "/opt/zbox/app/zentaoep/www" AllowOverride all Require all granted /Directory ErrorLog "/opt/zbox/logs/apache_error_log" CustomLog "/opt/zbox/logs/apache_access_log" combind /VirtualHost
保存退出vim编辑器,重启禅道
/opt/zbox/zbox restart
至此,通过域名就可以实现https访问禅道了,谷歌浏览器也不会提示非安全连接了
遇到的问题
1、在安装acme.sh的时候出现Failed to connect to raw.githubusercontent.com port 443: Connection refused问题应该如何解决?
答:原因:发现是 github 的一些域名的 DNS 解析被污染,导致DNS 解析过程无法通过域名取得正确的IP地址。可以通过修改/etc/hosts文件可解决该问题。
1》打开 https://www.ipaddress.com/ 输入访问不了的域名,获得对应的IP。
2》使用vim /etc/hosts命令打开不能访问的机器的hosts文件,添加如下内容:
199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com
注:上面内容中199.232.68.133是raw.githubusercontent.com所在的服务器IP(通过 https://www.ipaddress.com/ 获知)。
3》保存该文件,再使用即可正常访问。
参考:https://blog.csdn.net/donaldsy/article/details/107482368
2、在安装完acme.sh的时候发现acme.sh --version不能使用,为什么?
答:需要重新打开你的terminal,重新打开之后会正常
3、如下图超时,Processing, The CA is processing your order, please just wait. (2/30)超时如何处理?
答: acme.sh --set-default-ca --server letsencrypt
这个命令的意思是:acme.sh默认是用的CA提供商是ZeroSSL,而ZeroSSL的服务极其不稳定。
当前acme.sh使用的默认CA机构为zeroSSL,通过--set-default-ca命令,可以修改默认的CA机构,该命令使用--server参数来指定CA机构名称。
切换默认CA为Lets Encrypt:
acme.sh --set-default-ca --server zerossl
4、如下图链接出错,example.com:Verify error:Fetching http://example.com/.well-known/acme-challenge/QM5V1A3LcxZXr12_5gY3Uh1zh1p-7UARBMLhkK_OxKg: Connection refused 这个问题应该如何解决?
答:
1》、检查80端口是否被占用
2》、检查防火墙
3》、socat有没有安装以及有没有端口权限
4》、--webroot 路径是否有权限
5、如下图速率限制错误,too many failed authorizations recently应该如何处理?
答:这个是lets encrypt的速率限制,貌似没有其他办法,只能等来它取消限制,参考:https://letsencrypt.org/zh-cn/docs/rate-limits/
6、如下图TXT解析错误,Verify error:DNS problem: NXDOMAIN looking up TXT for 应该如何处理?
答:请仔细看生成的TXT验证的描述
必须要域名和TXT解析值都要对应上acme.sh才能验证通过
Spring Boot配置HTTPS,解决微信小程序上线问题 由于微信小程序在体验版和上线版本,需要用https连接,所以你需要申请一个域名,并为这个域名申请证书。怎么利用acme.sh免费申请证书在上篇文章有提到利用acme.sh免费建立https连接,这里就记录一下Spring Boot中配置HTTPS,再利用Docker进行部署。
CTO技术共享 专注大数据、架构框架、集群、中间件、分布式、数据库、监控、开源、基础架构等技术分享,助力数字化转型。
相关文章
- [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- [转] nginx配置HTTPS
- 如何为自己搭建的网站配置HTTPS证书 2-4
- iOS app 企业内部发布及HTTPS服务器配置
- Win7中IIS7及以上版本的ASP.Net配置!
- SpringBoot配置https
- 腾讯云nginx配置https证书
- 主从读写分离----mysql-proxy0.8.5安装与配置
- jumpserver配置+公网服务器经过堡垒机管理内网中的服务
- K8S 部署 ingress-nginx 配置 https
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
- Jfinal配置不得不注意的问题
- 配置系统环境变量
- JDK8+Tomcat8配置https【转】
- tsconfig配置详解
- Django云服务器配置Nginx站点SSL证书HTTPS协议
- Nginx使用教程(二):Nginx配置性能优化之worker配置
- VMware安装、配置CentOS
- apache配置CA证书通过https通信
- Nginx配置同一个域名http与https两种方式都可访问
- Tomcat配置https
- TP-LINK失去了两个设备配置域名的控制权
- Spring之c3p0连接池xml配置和使用举例
- tomcat 配置https 外部链接显示证书不安全 原因找到为其他地方的链接用的ip地址,证书是发给域名的所以报错
- hadoop mapred-queue-acls 配置(转)
- jenkins配置findbugs失败---不要随便忽略警告!一个因为文件所有权引发的血案
- spring boot 配置HTTPS