故障回溯

最近遇到有朋友的VMware vSphere vCenter 6.5报错503,

一开始是在登陆界面,输入正确的账号密码,但是还提示输入密码

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_证书过期

重启了Vcenter的服务器后,直接503了。

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_vcenter证书_02

具体报错类似如下:

503 Service Unavailable (Failed to connect to endpoint: [class Vmacore::Http::NamedPipeServiceSpec:0x0000000001a032d0] _serverNamespace = / action = Allow _pipeName =\\.\pipe\vmware-vpxd-webserver-pipe)

CSDN的方法没成功

查了网上csdn等各种渠道的解决方法,按照方法去尝试都是失败,各种描述都一致。。。。为啥呢?

于是去爬官网,找解决办法

根据VMware官网说的,503 Service Unavailable这个不一定是限于证书过期,而是有多个可能性。

  • 由于维护,vCenter Server 当前已关闭。
  • vCenter Server 上的反向代理服务已关闭。
  • vSphere Web Client 服务已关闭。
  • 防火墙配置错误。

不过,都不是我的问题。

VMware vSphere vCenter 6.5安装后的证书有效期是2年,所以如果是2年左右出现这个问题,那基本没跑了。

具体网上有各种分析类的帖子、文章,我就不细说了,反正不是STS证书,就是其他证书。

其他证书可以通过界面点击续订;但是这个STS比较麻烦。

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_证书过期_03

查看证书到期时间

1、vCenter 可以登录时验证证书有效期查看证书的页面:

HTML5界面(无法查看STS证书):主页 – 系统管理 – 证书 – 证书管理

Flash界面:主页 – 系统管理 – Single Sign-on – 配置 – 证书 – STS证书

点击每个证书,就可以看到证书的有效期了。

解决-其他证书

如果证书还没完全过期,web界面还能进去,那么可以用下面方法来续订(不含STS证书)。

1. vCenter 续订其他证书

6.5 及以下的操作方法是:https://vc-ip-address/psc,然后选择:证书 - 证书管理– 选择证书 – 续订

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_证书过期_04

6.7的操作方法是:主页 – 系统管理 – 证书 – 证书管理 – 选择证书 – 操作 – 续订


我的解决办法

声明一下,我的vcenter服务器是windows的,所以下面的方法只说windows服务器下的解决办法(网上其他的文章基本都是linux下的)这里就不说了,那些linux的方法是否有效,我也不知道。

1.快照

首先给vcenter服务器虚机做一个快照,安全要紧。

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_VMware_05

2.fixsts.ps1修复STS证书

"Signing certificate is not valid" error in vCenter Server 6.5.x and 6.7.x on Windows (79263) (vmware.com)官网这里,下载fixsts.ps1

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_vcenter证书_06

3.执行修复

下载的文件上传到vcenter服务器上,建议放到%temp%下吧。鼠标右键下载的fixsts.ps1文件,解除锁定并应用,否则无法运行。

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_vcenter证书_07

   然后打开管理员状态下的powershell

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_证书过期_08

然后在powershell里面执行这个fixsts.ps1文件。 这个文件运行比较快。

执行完这步后,你可以

cd  C:\Program Files\VMware\vCenter Server\bin

#重启服务
service-control --stop --all
service-control --start --all

我这里启动服务后,他会失败,多个服务无法启动,大意,就是证书还是没有注册。

Service vmware-vmon does not seem to be registered with vMon. If this is unexpected please make sure your service config is a valid json. Also check vmon logs for warnings.

4.重置其他证书

上面的提示,基本说明,除了sts外,其他证书也过期了。

而且web管理界面,我们也进不去了。

所以,续订除STS和data-encipherment以外的证书如下操作

cd C:\Program Files\VMware\vCenter Server\vmcad\

#执行这个文件
certificate-manager

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_证书过期_09

选择8,重置所有证书

Note : Use Ctrl-Z and hit Enter to exit.

Option[1 to 8]: 8

继续执行如下操作,选择y,需要填写的按照默认即可

Do you wish to generate all certificates using configuration file : Option[Y/N]

? : 输入y,按回车键

Please provide valid SSO and VC priviledged user credential to perform certifica

te operations.

Enter username [Administrator@vsphere.local]:默认,直接按回车键

Enter password:输入密码,按回车键,这里不显示输入痕迹


还有几步,我执行了几次显示均不相同,大家可以根据自己情况来选择。

如果接上步提示选择Y/N,那么就先选N,再选Y,再选Y,就会开始下面重置进程

如果出现下面的,则根据情况输入,然后会开始重置进程

Press Enter key to skip optional parameters or use Default value.

Enter proper value for 'Country' [Default value : US] :CN,按回车键

Enter proper value for 'Name' [Default value : CA] :默认,直接按回车键

Enter proper value for 'Organization' [Default value : VMware] :默认,直接按回车键

Enter proper value for 'OrgUnit' [Default value : VMware Engineering] :默认,直接按回车键

Enter proper value for 'State' [Default value : California] :根据情况,按回车键

Enter proper value for 'Locality' [Default value : Palo Alto] :根据情况,按回车键

Enter proper value for 'IPAddress' (Provide comma separated values for multiple

IP addresses) [optional] :访问的IP,直接按回车键

Enter proper value for 'Email' [Default value : email@acme.com] :默认,直接按回车键

Enter proper value for 'Hostname' (Provide comma separated values for multiple H

ostname entries) [Enter valid Fully Qualified Domain Name(FQDN), For Example : e

xample.domain.com] :如果是IP访问,那么就输入IP,域名就输入域名,按回车键

Enter proper value for VMCA 'Name' :同上,按回车键

You are going to regenerate Solution User Certificates using VMCA

Continue operation : Option[Y/N] ? : 输入y,按回车键

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_vcenter证书_10

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_vmware503错误_11

最后的百分比这里要说一下。

70%左右时候,开始停止所有服务,会很慢。要等5分钟左右。

85%左右,开始启动所有服务,会更慢,大概我等了10分钟?

然后如果你看到100%,那么恭喜你,终于修复了。

5.修复成功

这时候,我们访问https://地址

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_证书过期_12

终于看到了这个界面。

尝试登陆。

win服务器下的 vCenter 6.5 证书过期503 Service Unavailable解决办法_vmware503错误_13

问题终于完美解决了。

赶紧去更新一下Vcenter虚机的快照吧!!这次更新重置,依旧还是2年。。。