|
Steps 1 through 3 in the following procedure apply to both single-server and HA clustering environments. Steps 4 through 6 apply to HA clustering only.
|
|
If you are upgrading to v.3.0.0 or later of the Connector, be aware that the blob storage section of the configuration file no longer applies for these later versions. Everything is configured on the AzureIotHub Thing.
|
|
If using a custom name for the Azure IoT Hub Connector, make sure that the name is unique. The ThingWorx Platform will not create a Thing for the Azure IoT Hub Connector or allow it to connect if the name is a duplicate.
|
|
The IP address of a ThingWorx Platform instance can be set in the instance’s SSL/TLS certificate either in Subject Common Name (CN) field or in the Subject Alternative Name field. The IP address that the ThingWorx Platform registers in ZooKeeper is either the first site-local IP address, if found, or the first non-loopback IP address found on the available network interfaces.
|
|
By default the ThingWorx Platform uses the thingworx-http service name when registering its HTTP endpoint information in ZooKeeper and the thingworx-https service name when registering its HTTPS endpoint information. If the ThingWorx Platform is configured to use different service names, be sure to use the correct service name for the Azure IoT Hub Connector service-discovery.service-name value.
|
Property
|
Default Value
|
Description
|
||
---|---|---|---|---|
cx-server.protocol.port
|
8443
|
The port on which the Azure IoT Hub Connector listens for incoming WebSocket connections. The default value is the common secure port, 8443. If no port is specified at all, port 8080 is used.
|
||
cx-server.health-check.port
|
9009
|
The port on which the Azure IoT Hub Connector's Health Check service listens for HTTP(S) connections. To use a different port, uncomment the line and enter a different port number.
|
||
cx-server.thing.name
|
"alwayson-cxserver-1"
|
The Thing name with which the Azure IoT Hub Connector binds after connecting to the ThingWorx Platform. If no name is specified (the value is null), the Thing name will be alwayson-cxserver-<uuid>, where <uuid> is a randomly generated, unique identifier. To use a different Thing name, uncomment the line and enter the Thing name.
|
||
cx-server.transport.websockets.connections.verifyHostName
|
false
|
This property controls whether TLS host name validation is performed when making TLS connections to a ThingWorx Platform. TLS host name validation is enabled by default.
In the ThingWorx High Availability Clustering environment each ThingWorx Platform instance registers its IP address in ZooKeeper service discovery. The Azure IoT Hub Connector connects to a platform instance using the IP address registered in ZooKeeper. The TLS connection will fail host name validation unless the TLS certificate of the platform instance contains an IP Address entry in the Subject Alternative Name extension that matches its IP address.
In this scenario, you can disable host name validation by uncommenting this property. The default value will disable host name validation. Refer to the property, cx-server.transport.websockets.service-discovery.tls-enabled.
|
||
cx-server.transport.websockets.service-discovery.tls-enabled
|
true
|
SSL/TLS is enabled by default for the WebSocket connections between the Azure IoT Hub Connector and a ThingWorx Platform in a ThingWorx High Availability Cluster. The value of this property must align with the service-name used to look up ThingWorx Platform endpoints. If SSL/TLS is enabled here, the service-name property value must match the HTTPS service name configured for the ThingWorx Platform. If SSL/TLS is disabled here, the service-name property value must match the HTTP service name configured for the ThingWorx Platform.
|
||
cx-server.transport.websockets.service-discovery.service-name
|
"thingworx-https"
|
The service name with which the Azure IoT Hub Connector should look up the ThingWorx Platform instances from service discovery. The platform instances will register with service discovery depending on its configuration. If it is configured with an HTTPS endpoint, the platform will register with its configured HTTPS service name, thingworx-https by default. If it is configured with an HTTP endpoint, the platform will register with its configured HTTP service name, thingworx-http by default.
|
||
cx-server.transport.websockets.discovery.sasl-enabled
|
true
|
Whether to use SASL for communications with the ZooKeeper instances,
|
||
cx-server.discovery.sasl-krb5-conf-file
|
/path/to/kerberos-conf
|
If SASL is enabled, specify the path to the configuration file for KRB5 (Kerberos) in the cluster.
|
||
cx-server.discovery.sasl-jaas-file
|
/path/to/jaas-conf
|
If SASL is enabled, specify the path to the configuration file for JAAS (Java Authentication and Authorization Service) in the cluster.
|
|
If you are setting up an internal testing environment, it is strongly recommended but not required that you encrypt the configuration file. Make sure that you encrypt the Connector configuration file when setting up a production environment.
|