一、微信配置简介

通过配置微信公众号(服务号),可实现在微信端使用行云管家。

一旦微信服务号和行云管家绑定成功,关注这个微信公众号的微信用户,即可以通过微信查看主机、对主机进行体检、接收到告警和体检报告、查看云主机的成本、门户扫码登录。

二、配置微信前置条件

行云管家私有部署开通微信功能,需要满足以下先决条件:

(1)建议先升级行云管家至最新版本;

(2)申请一个微信公众平台服务号,并通过认证。认证通过后,需要满足以下要求;

  • 开启开发者功能;

  • 具备 基础支持、网页授权、模版消息 以及 自定义菜单 四项接口权限;

(3)准备域名,并且该域名必须已有ICP备案,若网站没有备案,配置时微信公众号里会提示要求备案。(ICP服务热线:010-66411166)

(4)如果您用的是HTTPS协议,那么在上述域名的基础上,准备域名证书(建议下载nginx格式证书);

(5)行云管家域名需要能够以80或者443(用于https访问)端口对行云管家进行访问;

(6)在DNS服务器中配置上述域名指向行云管家服务器IP地址;

(7)登录微信公众平台后,左边功能栏里没有“模版消息”菜单,请先在“添加功能插件”里申请,申请过程所在行业请选择 “IT科技 互联网|电子商务” 和“IT科技 IT软件与服务” 这两个,申请后一般一天左右会通过;

(8)行云管家门户服务器必须要能访问外网,能连通或ping通微信公众号地址api.weixin.qq.com

三、具体配置操作

3.1、配置行云管家域名

在行云管家管理控制台中配置以域名访问行云管家,操作如下:

a)以浏览器(推荐使用谷歌或火狐)访问行云管家管理控制台并登录;

b)配置行云管家的访问协议,请选择HTTP协议或HTTPS协议(HTTPS需要配置证书):

如果需要配置为HTTPS访问,则勾选“HTTPS协议”,并在“CA证书”这一栏点击“上传证书”,然后指定用于nginx的“SSL证书”及“SSL证书密钥”(SSL证书密钥要求无密码,如果是有密码的密钥,可以执行“openssl rsa -in [有密码.key] -out [无密码.key] ”来获取无密码密钥),此时“HTTPS端口”必须为443;

c)在“配置访问方式”台中添加域名访问,如果是HTTPS协议,请选择对应的CA证书(注意:域名是填www.abc.com这种格式而不是http://www.abc.com):

输入域名,如果是HTTPS协议,请选择对应的CA证书,并点击“确认”;

3.2、开启微信公众号的开发者功能

以浏览器登录微信公众号平台https://mp.weixin.qq.com,输入“用户名”及“密码”点击“登录”后,需要管理员微信扫描二维码并确认登录

(1)取微信公众号开发者密码并设置IP白名单

a)登录微信公众号平台后,点击界面左边的“开发”->“基本配置”菜单,进入到基本配置页面

b)在基本配置页面中,点击“开发者密码”右侧的“启用”,将弹出开发者密码设置框 ;

c)此时将会要求身份确认(扫描二维码)、密码验证(输入微信公众号密码)以验证操作者身份。最后请记录好“AppID” 以及 开发者密码“AppSecret”;

d)设置IP白名单,在“启用开发者密码”后,会提示“去设置IP白名单”,如果没有该页面,您也可以在基本配置页面中,点击“IP白名单”右侧的“查看”,将弹出查看IP白名单框;

e)在输入框中,输入部署行云管家的服务器所在网络的公网出口 IP地址(多个IP地址用回车隔开),并点击“确认修改”,即可设置IP白名单;(一般会需要微信公众号管理员使用微信扫描二维码并确认 )

(2)设置接口配置信息

a)登录微信公众号平台后,点击页面左侧的“开发”->“基本配置”菜单,进入到基本配置页面

b)在“服务器配置”中点击“启用”(此时其实还未启用,后面还会再点一次);

c)然后如图,点击“修改配置”,将进入配置修改页面 ;

d)在配置修改页面中,将“URL”框后面的内容设置为 http://{域名}/api/weixin (如果行云管家配置为https访问,则设置为 https://{域名}/api/weixin)(输入时,{域名}需要改为真实的域名);在“Token”输入框中输入一个长度为3至32字符的token,并记录好;点击“随机生成”,生成EncodingAESKey,并记录好;将“消息加解密方式”选为“明文模式”;此时,先不要点击“提交”

e)打开行云管家管理控制台,找到“基本设置”页面下的“第三方应用支持”;

f)点击“配置”,选择“微信”,点击“下一步”(注意:如果原来有其他第三方应用(企业微信或钉钉),会有下图提示,此时更换为微信后,将不能使用原有的第三方进行消息推送及在原有的移动端访问,同时,各团队成员原来的绑定信息也将取消,请谨慎操作);

g)输入上面微信公众号里记录的“AppId”、“AppSecret”、“Token”、“AseKey”、“RedirectUri”,选择“域名”;

  • 注意:“RedirectUri”请按照您具体http或https协议来填写http://域名/api/wxoauth2或者填写https://域名/api/wxoauth2

h)回到上述第d步微信公众号配置页面中,点击“提交”,将弹出提示确认框 ,点击“确定”;

j)此时,再点击服务器配置的“启用”,此时即可配置成功;

(3)配置网页授权域名

a)登录微信公众号平台后,点击左侧的“设置”->“公众号设置” 菜单,进入到公众号设置页面

b)在公众号设置页面中,点击“功能设置”,在功能设置页面中,点击“网页授权域名”右侧的“设置”,将弹出网页授权域名框 ;

c)在网页授权域名框中,请输入授权域名并后面带上/(例如输入wx.aaa.net/,而不是wx.aaa.net),此时,先不要点击“确认”;

点击“下载文件”中的“txt文件”将文件下载,并将下载所得文件原封不动(包括不能修改文件名)的拷贝到行云管家服务器的 /opt/cloudbility/apps/root/ 目录下(如果做了双机部署,则需要同时放到主机和备机的该目录下)。此时,先不要点击“保存”;

d)以root账号ssh登录到行云管家服务器,编辑 /etc/nginx/default.d/guanjia.conf 文件,在文末加上下面这段,并将其中的 “weixin_domain_validate_file.txt”修改为上述第c部下载所得的文件的文件名(如果做了双机部署,则在主机及备机中均需执行本操作)

#replace weixin_domain_validate_file
location /weixin_domain_validate_file.txt {root /opt/cloudbility/apps/root;}

e)以root账号ssh登录到行云管家服务器,执行以下命令,重新加载nginx配置(如果做了双机部署,则仅需在行云管家当前运行所在的服务器中执行)

systemctl restart nginx

f)返回上述第c部的在网页授权域名框中,点击“保存”,即可完成配置网页授权域名;

3.3、创建微信公众号菜单

以浏览器登录微信公众号平台https://mp.weixin.qq.com,输入“用户名”及“密码”点击“登录”后,需要管理员微信扫描二维码并确认登录

a)登录后,点击左侧的“开发”->“开发者工具”菜单,进入到开发者工具页面

b)在开发者工具页面,点击“在线接口调试工具”,进入接口调试工具页面

c)在接口调试工具页面,输入“appid”(前述“获取微信公众号开发者密码并设置IP白名单”步骤中所取得的AppID)、输入“secret”(前述“获取微信公众号开发者密码并设置IP白名单”步骤中所取得的开发者密码),并点击“检查问题”,将会生成“access_token”显示在页面下方,记录下这个“access_token”(下图中红框内橙色部分内容,不包括双引号)。此时,不要关闭当前这个接口调试工具页面。

d)以文本编辑器编辑下述文本内容,将其中的“{APPID}”(共有三处)替换为真实的“开发者ID(即AppID)”,将其中的“{域名}”(共有三处)替换为真实的“域名”,如果行云管家被设置为https访问的,则将其中的“redirect_uri=http”替换为“redirect_uri=https”(共有三处)(可在文本编辑中用“查找/替换”来做替换操作)

"微官网"下面的"url": "https://www.cloudbility.com/mobile/default.html"可以改成您公司自己的链接,允许自定义

{ 
  "button": [ 
    {
      "name": "关于", 
      "sub_button": [ 
         {
            "type": "view",
            "name": "微官网",
            "url": "https://www.cloudbility.com/mobile/default.html"
         }
      ]
    },
    {
      "name": "我的", 
      "sub_button": [ 
         {
            "type": "view",
            "name": "云资源",
            "url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid={APPID}&redirect_uri=http%3A%2F%2F{域名}%2Fapi%2Fwxoauth2&response_type=code&scope=snsapi_base&state=index#wechat_redirect"
         },
         {
            "type": "view",
            "name": "个人资料",
            "url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid={APPID}&redirect_uri=http%3A%2F%2F{域名}%2Fapi%2Fwxoauth2&response_type=code&scope=snsapi_base&state=userProfile#wechat_redirect"
         },
         {
            "type": "view",
            "name": "系统设置",
            "url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid={APPID}&redirect_uri=http%3A%2F%2F{域名}%2Fapi%2Fwxoauth2&response_type=code&scope=snsapi_base&state=sysSettings#wechat_redirect"
         }
      ]
    }
  ]
}

e)返回前述第c步的接口调试工具页面,将“接口类型”选择为“自定义菜单”、“access_token”输入框中输入前述第c步所获得的access_token、把上述第d步编辑好的代码拷贝输入到“body”输入框中,然后点击“检查问题”,即可完成微信公众号菜单设置

3.4、添加模板消息功能

以浏览器登录微信公众号平台https://mp.weixin.qq.com,输入“用户名”及“密码”点击“登录”后,需要管理员微信扫描二维码并确认登录

a)登录后,点击左侧的“功能”->“模版消息”菜单,进入到模版消息页面

b)在模版消息页面中,点击“模版库”,进入模版库页面

请检查所在行业,是否为 “IT科技 互联网|电子商务” 和“IT科技 IT软件与服务” 这两个,不是的话请改为这两个,否则后面操作可能搜不到一些模板(这里一个月只能修改一次)

c)需要添加的模版如下表,添加模版的方法如后续步骤

序号 属性名 模板编号 模板标题 一级行业 二级行业
1 weixin.template.systemUpgrade OPENTM411122462 服务器维护通知 IT科技 IT软件与服务
2 weixin.template.memberJoin OPENTM207685059 成员加入提醒 IT科技 互联网|电子商务
3 weixin.template.costNotice OPENTM407369247 消费预警通知 IT科技 IT软件与服务
4 weixin.template.alertRecovered TM00540 告警恢复通知 IT科技 IT软件与服务
5 weixin.template.session2FA OPENTM409951496 验证码通知 IT科技 互联网|电子商务
6 weixin.template.dangerousInstructionAudit OPENTM413134240 审核通知 IT科技 IT软件与服务
7 weixin.template.bindNotice OPENTM217363134 绑定通知 IT科技 互联网|电子商务
8 weixin.template.teamPayServeRenew OPENTM405936955 续费成功提醒 IT科技 互联网|电子商务
9 weixin.template.loginSuccessNotice OPENTM201673425 登录成功提醒 IT科技 互联网|电子商务
10 weixin.template.unbindNotice OPENTM217338541 解绑通知 IT科技 IT软件与服务
11 weixin.template.healthCheckLaunched OPENTM401232834 体检报告通知 IT科技 互联网|电子商务
12 weixin.template.memberLeave OPENTM400218865 成员退出通知 IT科技 互联网|电子商务
13 weixin.template.earlyWarning OPENTM206852454 预警通知 IT科技 IT软件与服务
14 weixin.template.alertFired TM00541 告警通知 IT科技 IT软件与服务
15 weixin.template.remoteLogin OPENTM401114987 异地登录提醒 IT科技 IT软件与服务

d)参考上述第c步的表,在模版库页面中,在搜索框中输入“模版标题”的值,然后点击搜索框中的“放大镜”图标,即可搜索到一个或多个模版标题包含你在搜索框中所输入内容的模版,例如上述第c步的表中,有一行模版标题为“预警通知”的模版,将“预警通知”输入到搜索框,然后点击“放大镜”图标,搜索到的结果如下图

e)查看上述第c步的表可以看到模版标题为“预警通知”的模版对应的“模版编号”为“OPENTM206852454”,在上述第d步的搜索结果中,对比列表左边第一列,找到“编号” 为“OPENTM206852454”的数据行,再点击该数据行右侧的“详情”,将进入模版添加页面

f)在模版添加页面中,点击“添加”,即可添加模版

g)重复上述第d步至第f步操作,将第c步表中所有模版添加到“我的模版”中,结果列表类似下图

h)编写“key=value”文本,key的值为上述第c步列表中“属性名”列的值,value的值为上述第h步所得结果列表中“模版ID”列的值。例如:上述第c步列表中“属性名”列的值为“weixin.template.systemUpgrade”的模版,其对应的“模版标题”列的值为“服务器维护通知”,在上述第g步所得的结果列表中,找到“标题”列中值为“服务器维护通知”的模版,其对应的“模版ID”的值为“L665eWR-Puzc1F6XpMQcXLAhA6306kthS3IEtWrlzhg”,则这个模版的“key=value”文本应该为:

weixin.template.systemUpgrade=L665eWR-Puzc1F6XpMQcXLAhA6306kthS3IEtWrlzhg

i)按上述第h步操作,依据上述第c步的列表数据,编写出所有的“key=value”文本,类似如下

weixin.template.alertFired=wuUZlHFAaN86F7CZg5wCfv0lgrIsR2BTWMax0dY3CAc
weixin.template.alertRecovered=Em95BKf7lPls8kU5cY_3CCq-DSOv7AyOnS4e-w6-jJY
weixin.template.memberLeave=tds495s4qpDX0eZVdeqHOvByB6yv6SD8ssQ-XToVfGk
weixin.template.memberJoin=AEyRRnLHGp5OwW7GDNSE2s3CGhiWHCrCyPFiE-LSAAQ
weixin.template.healthCheckLaunched=snBO3tu7VCrx3PZlqgfjGIGXdml97_HfQnltRpMrWvg
weixin.template.loginSuccessNotice=Yh1XylI_kRNYe_Y0lWg7N5mSTFojtL0BWEpANRdL1MM
weixin.template.bindNotice=MwCeOr7d5zAuAu_baCKYO57uz4bgs18RsKsWtbymSkc
weixin.template.unbindNotice=aeMiNY5ELnAuf6c4CmL-2UW-qAboisutGFXBE5G476o
weixin.template.earlyWarning=uFhJLHZvUb2O_4-cWO4nDoBEb2wffogeOU21tjIwnOc
weixin.template.remoteLogin=E5_sTdvPBKUaInuqKRtoLyWipBbXa7tSGRfzXnHnS90
weixin.template.teamPayServeRenew=OqC_dfttO_bTAg_ND9w9csWEOkLa7YZR4LVJpQYZ1DM
weixin.template.costNotice=BB9mPX3zkL_BVxU6y1rt5rSeUrynSNbDThbxxg7O6sE
weixin.template.session2FA=Ge8IsucNrIqAO_Si_WefeNe_Hb_nMSALNBV24w7tNto
weixin.template.dangerousInstructionAudit=M5Pv1aaatGdSGvmlJwz3BlUq6Z74h7Y99VYzBu645xw
weixin.template.systemUpgrade=2t_-EEqBxR5JWCcWSNKxQ1BcA8bliQm6Ozb-vij-o5I

j)将上述第i步所得的所有的“key=value”文本,追加到行云管家服务器的 /opt/cloudbility/conf/cloudPortal.properties 文件末端(如果做了双机部署,则仅需在当前行云管家服务运行所在服务器中进行操作)

k)以root用户SSH登录到行云管家服务器,执行以下命令重启行云管家(注意:如果做了双机部署,则需要先冻结SkybilityHA对行云管家相关服务的接管,勾选全局禁用)(如果做了双机部署,则仅需要在当前行云管家运行所在服务器中执行本操作)

/opt/cloudbility/bin/restart.sh

执行上述命令后,如果是双机部署,而且执行命令前冻结了SkybilityHA对行云管家相关服务的接管,则需要执行解冻操作,以恢复SkybilityHA对行云管家相关服务的接管。

至此,行云管家与微信公众号服务号的配置就完成了。

四、关注并使用微信扫码登录

4.1、关注微信公众号:

(1)配置完成后,请用手机微信关注您的微信公众号,并登录行云管家门户网址,点击头像下的“个人资料”;

(2)点击“个人资料”右边栏最下面的“微信-立即绑定”,此时您通过手机微信扫码后会提示您“微信绑定成功”,并且此时您可以获取微信中的用户信息来补充您在行云管家中的个人资料;

4.2、电脑网页端登录(即可使用用户名密码登录,也可以使用扫码登录,这里介绍下扫码登录):

(1)登录管理控制台,点击“系统设置”->“基本设置”;

(2)找到“安全策略”,点击“门户安全策略”里的“设置”按钮;

(3)找到“身份认证”->“通过第三方应用扫码登录门户”,进行“开启”,然后点击“确定”;

(4)打开门户网页,此时即可看到“登录”按钮下方有“第三方应用扫码登录”,点击下面的“微信”图标即可进行扫码登录;

五、微信消息订阅

关注并绑定微信后,您可以点击如图消息订阅按钮来选择哪些消息通过微信来进行通知(此为个人设置,对其他用户无效);

进入到如图消息订阅管理里,可以选择通过哪些方式来进行消息订阅和通知,如果您团队开启了微信服务,并且您已绑定微信,就可以在这里选择是否通过邮箱进行消息接收;

六、行云管家微信常见问题处理

如果您在微信配置或使用中遇到问题,您可以查看微信FAQ指引