当前位置: 首页 > news >正文

HTTPS hostname wrong: should be <xxx>错误解决

我们在安装hadoop启用kerberos时,启动namenode遇到一个错误,显示出错信息为:

HTTPS hostname wrong: should be <dmp-hdfs-ns1>

网上搜了一圈,都是说让写一段代码JRE相信所有的证书和对系统的域名和证书域名,但是我们是安装hadoop,总不能去改别人的程序吧!
后来反复研究了一下,才发现,网上openssl 导入证书时有个关键点没说清楚,导致机器名和证书owner不一样,所以出现这个问题,解决方法:
1、生成辩证书命令:

openssl req -new -x509 -keyout hdfs_ca_key -out hdfs_ca_cert -days 36500 -subj '/C=CN/ST=jiangsu/S=xuzhou/L=yunlong/O=xcmg/OU=fin_tech/CN=$HOSTNAME'

关键是CN要是你的服务器名,比如我的机器名是dmp-hdfs-ns1,这里用$HOSTNAME确保正确
2、导入证书:

export sname="CN="$HOSTNAME", OU=fintech, O=xcmg, L=yunlong, ST=xuzhou, C=CN"
keytool -keystore keystore -alias $HOSTNAME -validity 36500 -genkey -keyalg RSA -keysize 2048 -dname "$sname"

这一步最关键,CN域一定要是服务器名
下面就按教程一步步生成keystore和truststore就没问题了:

# 2 输入密码和确认密码:admin123,提示是否信任证书:输入yes,此命令成功后输出truststore文件
keytool -keystore truststore -alias CARoot -import -file hdfs_ca_cert# 3 输入密码和确认密码:admin123,此命令成功后输出cert文件
keytool -certreq -alias $HOSTNAME -keystore keystore -file cert
keytool -importkeystore -srckeystore keystore -destkeystore keystore -deststoretype pkcs12# 4 此命令成功后输出cert_signed文件
openssl x509 -req -CA hdfs_ca_cert -CAkey hdfs_ca_key -in cert -out cert_signed -days 36500 -CAcreateserial -passin pass:admin123# 5 输入密码和确认密码:admin123,是否信任证书,输入yes,此命令成功后更新keystore文件
keytool -keystore keystore -alias CARoot -import -file hdfs_ca_cert# 6 输入密码和确认密码:admin123
keytool -keystore keystore -alias $HOSTNAME -import -file cert_signed

相关文章:

  • Chrome浏览器访问https提示“您的连接不是私密连接”问题解决方案
  • 通信无BUG,ethernet ip转profinet网关,汽车焊接设备通信有心机
  • Windows的xshell连接VW里的centos系统里的mysql失败解决方法
  • algorithm ——————》双指针(移动0 复写0 快乐数 装水问题 以及数组中找几个数和为指定的元组)
  • 智能助手(利用GPT搭建智能系统)
  • 数据库内连接的几种方式及注意事项
  • 【数据结构】B树的介绍及其实现C++
  • C#系统学习第二章——第一个C#程序
  • 小型软件开发的三重境界:从混沌编码到结构化设计
  • C#中 Winform如何实现跨页面调用
  • 智能体Manus和实在Agent的区别
  • MySQL 连接指定端口后,为什么实际仍是 3306?
  • 机器学习基础 多层感知机
  • PART 7 视频
  • 【Elasticsearch】Linux环境下安装Elasticsearch
  • Istio 简介
  • 【CV数据集介绍-40】Cityscapes 数据集:助力自动驾驶的语义分割神器
  • 优雅翻译前端返回中文描述
  • Java8方法引用:简洁高效的编程利器
  • 打造无障碍网页应用的利器:Base UI