Citrix DDC添加443端口证书通过SSL加密访问

在思杰桌面云的默认情况下,所有Store Front到ddc的通信是通过80端口访问的,若要改成通过ssl加密的443端口,就要为443端口绑定证书。

绑定证书首先得有证书,创建证书的步骤可以参考我之前写的博客,关于为StoreFront配置证书的操作方法。如果你不知道如何创建证书,请先阅读下文。
https://blog.51cto.com/181647568/2478022
操作方法是一样的,区别在于域名的不同。所以在申请证书写通用名称的时候应该要填写ddc的域名。
还有一点是,如果你试图在ddc上去创建证书或绑定端口,那么要知道和sf服务器不一样,默认情况下ddc没有安装iis控制台。所以如果想要图形化界面完成这个操作,可以安装iis控制台,并且绑定证书于443端口。绑定完可以删除它,也可以留在那里,这不会影响ddc的工作。
在我的测试环境中,我会有两台ddc,其中一台安装了iis控制台,而另外一台则什么额外的东西都没有安装。第一台很简单,我申请了证书,并且通过绑定,绑定在了443端口上。
Citrix DDC添加443端口证书通过SSL加密访问

这里主要说的是第二种方法,在没有iis的情况下,通过命令行来完成操作。当然证书还是通过iis向ca申请的,不过ddc上没有安装iis控制台,你可以找一台拥有iis的机器来完成这个操作,也可以通过其他手段来获取证书。如果在没有的环境下,桌面云中一定包含storefront,所以我们完全可以在storefront中完成证书的申请,然后导入到ddc中。
Citrix DDC添加443端口证书通过SSL加密访问
假设已经在一台iis上为两台ddc申请了证书,然后将它们导出。
Citrix DDC添加443端口证书通过SSL加密访问
填写导出的pfx文件路径和密码。
Citrix DDC添加443端口证书通过SSL加密访问
现在把这个pfx文件放到ddc中去吧。
Citrix DDC添加443端口证书通过SSL加密访问
双击pfx文件并且选择本地计算机,点击下一步。
Citrix DDC添加443端口证书通过SSL加密访问
Citrix DDC添加443端口证书通过SSL加密访问
这里填写密码并且勾选红框部分。点击下一步。
Citrix DDC添加443端口证书通过SSL加密访问
在最后一个框内点击完成。
如果要查看这个证书,可以运行命令mmc打开控制台。并且按ctrl+m。
Citrix DDC添加443端口证书通过SSL加密访问
Citrix DDC添加443端口证书通过SSL加密访问
可以注意的是pfx导入的证书,它的图案的左上角是有一把小钥匙的。
接下来就要开始使用命令来为443端口绑定证书了。
绑定证书的一系列命令如下:(cmd里运行)

netsh http show sslcert  //查看本机ssl绑定端口的情况

//添加端口绑定
netsh http add sslcert ipport=<ip>:<port> certhash=<cer.hash> appid=<guid>
//例如:
netsh http add sslcert ipport=0.0.0.0:8000 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF}

//删除端口绑定
netsh httpdelete sslcert ipport=<ip>:<port>

详细可以参考
https://www.cnblogs.com/scoluo/p/10190611.html

其中添加的命令包含两个参数,其中certhash的获取方法为:
用上文提到的mmc找到证书,双击,在“详细信息”选项卡中找到指纹。
Citrix DDC添加443端口证书通过SSL加密访问
这里的指纹每隔两个字都会有一个空格,不过作为参数的时候要把空格去掉。

还有一个是appid,这个参数需要填一个guid。关于这个guid的值,网上有两个说法。
1是说这个为"Citrix Broker Service"的Product GUID。这个值可以在WMI中查到。
poweshell命令

Get-WmiObject Win32_Product | where {$_.name -like "*broker*"}

用cmd命令获取

wmic product where Name="Citrix Broker Service" get IdentifyingNumber

还有一说是这个guid取的是注册表中的Citrix Broker Service中子项的值。
Citrix DDC添加443端口证书通过SSL加密访问
这个方法是用注册表,通过搜索“Citrix Broker Service”获取的,GUID即是文件路径中文件夹的名字。
用powershell获取

Get-ChildItem HKLM:\software\Classes\Installer\Products | Get-ItemProperty | where {$_.ProductName -match "Citrix Broker Service"} | foreach {$_.PSPath.ToString().Split("\")[6]}

在实际中,我发现可以填任何的guid都不会影响,不过推荐使用第二种方法,从注册表中获取,因为这个是官方手册里写的。

现在命令全了,可以使用netsh加证书了。
(开始排错)
未能添加SSL证书,错误:1312,指定的登录会话不存在。可能已被终止

发生这个错误可能是因为在IIS完成证书申请的时候,下载的证书加密类型选错了。我们是用Base64加密申请的,下载下来的证书也得是Base64加密的。需要重新的从CA上下载证书并且导出pfx。
(排错完成)

证书已经加完了,现在到其他设备上对应的修改一下配置吧。
StoreFrone:
开启Studio
Citrix DDC添加443端口证书通过SSL加密访问
这里先把Studio的传输类型改为https。
以下改
Citrix DDC添加443端口证书通过SSL加密访问
如果有配置gateway,需要把配置中gateway的sta也改成https的。
同理netscaler上也要改。
Citrix DDC添加443端口证书通过SSL加密访问
Citrix DDC添加443端口证书通过SSL加密访问

完成。现在可以在storefront和gateway中查看桌面是否能够连接上。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章