25 Webserver Connector

25.1 Get

GET https://<HOST>:<PORT>/api/webserverConnectors/get?version=0

Returns the currently configured webserver connectors.

Required Permissions

  • API

  • Web server Read Access

Response Body Structure

The response body is strutured as an array. The array consists of WebserverConnector JSON objects. A description for its fields is at section 30.47.1. For the JSON schema refer to section 30.47.2.

Example

GET http://localhost:8088/api/webserverConnectors/get?version=0
HTTP Response
HTTP/1.1 200 OK
HTTP Response Body
[
  {
    "openPortOnDemand": true,
    "requestDomains": ["ACME"],
    "httpMode": "HTTP",
    "port": 80,
    "displayName": "ACME challenge connector",
    "networkOptions": {"ipAddress": "172.16.1.105"},
    "id": "43A75A8773E9C42439F3765A64C1CEB0"
  },
  {
    "openPortOnDemand": false,
    "requestDomains": ["REST_API"],
    "httpMode": "HTTP",
    "port": 8999,
    "displayName": "HTTP on 127.0.0.1 / 8999",
    "networkOptions": {"ipAddress": "127.0.0.1"},
    "id": "A7705968239F5D8A23396D5D045FC2C8"
  }
]

25.2 Set

PUT https://<HOST>:<PORT>/api/webserverConnectors/set?version=0

Modifies the webserver connectors.

Required Permissions

  • API

  • Configuration Mode Read/Write Access

Request Body Structure

The request body is strutured as JSON array. The array consists of WebserverConnector JSON objects. A description for its fields is at section 30.47.1. For the JSON schema refer to section 30.47.2.

Response Body Structure

The response body is strutured as an array. The array consists of WebserverConnector JSON objects. A description for its fields is at section 30.47.1. For the JSON schema refer to section 30.47.2.

Example

PUT http://localhost:8088/api/webserverConnectors/set?version=0
HTTP Request Body
[
  {
    "openPortOnDemand": true,
    "requestDomains": ["ACME"],
    "httpMode": "HTTP",
    "port": 80,
    "displayName": "ACME challenge connector",
    "networkOptions": {"ipAddress": "172.16.1.105"},
    "id": "43A75A8773E9C42439F3765A64C1CEB0"
  },
  {
    "openPortOnDemand": false,
    "requestDomains": ["REST_API"],
    "httpMode": "HTTP",
    "port": 8999,
    "displayName": "HTTP on 127.0.0.1 / 8999",
    "networkOptions": {"ipAddress": "127.0.0.1"},
    "id": "A7705968239F5D8A23396D5D045FC2C8"
  }
]
HTTP Response
HTTP/1.1 200 OK
HTTP Response Body
[
  {
    "openPortOnDemand": true,
    "requestDomains": ["ACME"],
    "httpMode": "HTTP",
    "port": 80,
    "displayName": "ACME challenge connector",
    "networkOptions": {"ipAddress": "172.16.1.105"},
    "id": "43A75A8773E9C42439F3765A64C1CEB0"
  },
  {
    "openPortOnDemand": false,
    "requestDomains": ["REST_API"],
    "httpMode": "HTTP",
    "port": 8999,
    "displayName": "HTTP on 127.0.0.1 / 8999",
    "networkOptions": {"ipAddress": "127.0.0.1"},
    "id": "A7705968239F5D8A23396D5D045FC2C8"
  }
]

25.3 Add

POST https://<HOST>:<PORT>/api/webserverConnectors/add?version=0

Adds a new webserver connector.

Required Permissions

  • API

  • Web server Read/Write Access

Request Body Structure

The request body is structured as WebserverConnector JSON object. A description for its fields is at section 30.47.1. For the JSON schema refer to section 30.47.2.

Response Body Structure

The response body is strutured as an array. The array consists of WebserverConnector JSON objects. A description for its fields is at section 30.47.1. For the JSON schema refer to section 30.47.2.

Example

POST http://localhost:8088/api/webserverConnectors/add?version=0
HTTP Request Body
{
  "openPortOnDemand": true,
  "requestDomains": ["GUI"],
  "httpMode": "HTTPS",
  "port": 443,
  "displayName": "Test Connector",
  "networkOptions": {"ipAddress": "127.0.0.1"},
  "httpRedirectorPort": 80,
  "tlsOptions": {
    "privateKey": {"pem": "-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEGSVP7VSXlARS
dBcflticgrLrLYy7VrqRXMsYo6j88iLD3mr7eMYCgHsPyoplaarUrhY4Ktwb0DXj
3JXslNkMwu7D9knk/Hh8f6stmuDQIa4GalCgEoc1QYQNEXSM+pYqeIcTO+WZ6iW7
sbPYtmGYerA3j8QbD81mC/vIjjtgfazco6H+3jU83zev2nJ1L/F32od7kcsxei8D
OLegkGX7G0yGkeRioGdb4SGouu9yhiJDEUcWMKyI6ncqQeTfPEj5ybxjEJlcS/J2
P771pwVK5MCb+6iH6p6AEIibys2tdEB2Mg6W06Pk+/DTyBY/4woNzaEh9lYuB2WC
1ymoPfOdAgMBAAECggEAK4fqesD0RZbH09bt+Cb4DFxOI/tPUZn53gFzm1NfVNFa
itEBvjOr/wuu5c1AJi2MDNzdVVgcVvdEM0I5LNTJDvZp4un2MuUhyP9dTEkkjUdg
to9cuQAL8DRMQEtm7FHHSoPJdmlWOXHbMPyMcDfiV+MqYZciQSCjp7rSyI1cXHl9
bkcmVAhtSyL3QkXL+JZSwE3o2Oid/4jqGijNmOp8cOyCW7gI5p/vsBA16OcZYpc3
1hhkOVo8wMOFhj3QvIcTCkpkCnCM0tNmtDC3JuJsEIOZ/52b7vc2FaXkdTH9LdwA
JugFYBkiJhF3QXeWzLL3kAW8UUcfUVZ0A8GtEUrUwQKBgQD6upbUEqHyYx3+tlix
9ON6uJX4F8NRLypWFLsf7U4yvdL4J6IdOnoH4QWGlespruPE1fPNvGSe4CuUjEcK
nEYKDuK/o/RYq0EsmiHmX7xkE50KvfULSdaJGhLPRr19ApWjwOwUv/eotVcaC6Pl
TrYDrfPgFvvqtdSXr4GFjlWVQQKBgQDIOIl9/ciVgnUxnXQcPABDuTdVZiXEKbQW
qMQCfYD8xmjSN8S4qKgN9q2gUvbd/Kv++IrV9j2ROYM5JNNaW+HNPKzMWZpIqj7u
4n4Mrbt0QNhpXddkkR5mEpRC22hTt/913p4yLntEDfdjSH5sBIXnvAeWWC4WEKaZ
5OtDhdD7XQKBgQCCrySUbw3IF893hrWeM8UpnvJT+JbORuYrLe0GzBq5KeW/gHDo
CSW325qUtql29Xg0jUvhTTOo97DfYWpZ5nA/J9kaCCwA12pGBCRtPjMkenCdO7tw
YdEXbuak8PstIF68ln62pgRBBBvdMHoBuE/4hP+bKn+tq46ebVT2NuT2wQKBgQCV
rwbDJU6mz4AT1pWuYgEEoFxIwPPtAgx7gDIBdphO4XoN5tlv/86bmdZV7JBYhwSC
uob4zH1cq7V5rBlCDTzzNbAtmbMpLfWcm8EGc3+Xur7PjvNvYLpsLumeTe9h30Xh
dcuo0m0fBJ31IIY69OqywzSc5lGV917F4Ikt0sXYlQKBgGcGqc1sPXwUfe2enPHH
ckhwmI83FpT/4bRAjbpYc5jk8CgE2Mbyhcn3mU9UV9Qwk4Hm/gLPzd4Fwn2fmnBF
zpo33wsQERgpwXIie33eURBAwv8hIWLy82HOoapl/TDBY3A8sw3Hknrh7As1Zkw8
aA294XjNSeb1N7Y8C18WeQBo
-----END PRIVATE KEY-----
"},
    "certificate": {"pem": "-----BEGIN CERTIFICATE-----
MIICxjCCAa6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAkxMjcu
MC4wLjEwHhcNMjQwNTA3MTAwMDAwWhcNMjYwNTA5MTE1OTU5WjAUMRIwEAYDVQQD
DAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEGSVP
7VSXlARSdBcflticgrLrLYy7VrqRXMsYo6j88iLD3mr7eMYCgHsPyoplaarUrhY4
Ktwb0DXj3JXslNkMwu7D9knk/Hh8f6stmuDQIa4GalCgEoc1QYQNEXSM+pYqeIcT
O+WZ6iW7sbPYtmGYerA3j8QbD81mC/vIjjtgfazco6H+3jU83zev2nJ1L/F32od7
kcsxei8DOLegkGX7G0yGkeRioGdb4SGouu9yhiJDEUcWMKyI6ncqQeTfPEj5ybxj
EJlcS/J2P771pwVK5MCb+6iH6p6AEIibys2tdEB2Mg6W06Pk+/DTyBY/4woNzaEh
9lYuB2WC1ymoPfOdAgMBAAGjIzAhMAsGA1UdDwQEAwIFoDASBgNVHREBAf8ECDAG
hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQC+woLpHs0fC8PHVuVnt1OT7D0p2OqF
tepOgDC+nn62/qjg67VZ0j8PG0Cgk+HVtT+wABObO5OuunotQVvLsPeX7dXRpKs7
XhK2ONGijzgQ9r638J8tsCRJB4HN7TZlcArzEP5WN4Kj1f22ZQFYsiQfvrUa2Vod
0pH/r46PCq5nYzth5wxRzMYSdarJYJeezbHswF2PEbySDWxBOWdNeUm6KqliPS4+
VvDI1k0Hb8/GuntF0zvX7w94Of8Gts41kgV6xhL+5DtsIjnhVL6BMx/Gat+las1F
02vrjqT0Lozclzit3jG6hRXyeNYVxLUZYPTWTexStbLiRj4g3axDUgLc
-----END CERTIFICATE-----
"},
    "demandClientCertificate": false,
    "hostnameVerification": false
  }
}
HTTP Response
HTTP/1.1 200 OK
HTTP Response Body
[
  {
    "openPortOnDemand": true,
    "requestDomains": ["GUI"],
    "httpMode": "HTTPS",
    "port": 443,
    "displayName": "Test Connector",
    "networkOptions": {"ipAddress": "127.0.0.1"},
    "id": "24AF9A2A2908928B82A6C99043BFD8C1",
    "httpRedirectorPort": 80,
    "tlsOptions": {
      "privateKey": {"pem": "-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEGSVP7VSXlARS
dBcflticgrLrLYy7VrqRXMsYo6j88iLD3mr7eMYCgHsPyoplaarUrhY4Ktwb0DXj
3JXslNkMwu7D9knk/Hh8f6stmuDQIa4GalCgEoc1QYQNEXSM+pYqeIcTO+WZ6iW7
sbPYtmGYerA3j8QbD81mC/vIjjtgfazco6H+3jU83zev2nJ1L/F32od7kcsxei8D
OLegkGX7G0yGkeRioGdb4SGouu9yhiJDEUcWMKyI6ncqQeTfPEj5ybxjEJlcS/J2
P771pwVK5MCb+6iH6p6AEIibys2tdEB2Mg6W06Pk+/DTyBY/4woNzaEh9lYuB2WC
1ymoPfOdAgMBAAECggEAK4fqesD0RZbH09bt+Cb4DFxOI/tPUZn53gFzm1NfVNFa
itEBvjOr/wuu5c1AJi2MDNzdVVgcVvdEM0I5LNTJDvZp4un2MuUhyP9dTEkkjUdg
to9cuQAL8DRMQEtm7FHHSoPJdmlWOXHbMPyMcDfiV+MqYZciQSCjp7rSyI1cXHl9
bkcmVAhtSyL3QkXL+JZSwE3o2Oid/4jqGijNmOp8cOyCW7gI5p/vsBA16OcZYpc3
1hhkOVo8wMOFhj3QvIcTCkpkCnCM0tNmtDC3JuJsEIOZ/52b7vc2FaXkdTH9LdwA
JugFYBkiJhF3QXeWzLL3kAW8UUcfUVZ0A8GtEUrUwQKBgQD6upbUEqHyYx3+tlix
9ON6uJX4F8NRLypWFLsf7U4yvdL4J6IdOnoH4QWGlespruPE1fPNvGSe4CuUjEcK
nEYKDuK/o/RYq0EsmiHmX7xkE50KvfULSdaJGhLPRr19ApWjwOwUv/eotVcaC6Pl
TrYDrfPgFvvqtdSXr4GFjlWVQQKBgQDIOIl9/ciVgnUxnXQcPABDuTdVZiXEKbQW
qMQCfYD8xmjSN8S4qKgN9q2gUvbd/Kv++IrV9j2ROYM5JNNaW+HNPKzMWZpIqj7u
4n4Mrbt0QNhpXddkkR5mEpRC22hTt/913p4yLntEDfdjSH5sBIXnvAeWWC4WEKaZ
5OtDhdD7XQKBgQCCrySUbw3IF893hrWeM8UpnvJT+JbORuYrLe0GzBq5KeW/gHDo
CSW325qUtql29Xg0jUvhTTOo97DfYWpZ5nA/J9kaCCwA12pGBCRtPjMkenCdO7tw
YdEXbuak8PstIF68ln62pgRBBBvdMHoBuE/4hP+bKn+tq46ebVT2NuT2wQKBgQCV
rwbDJU6mz4AT1pWuYgEEoFxIwPPtAgx7gDIBdphO4XoN5tlv/86bmdZV7JBYhwSC
uob4zH1cq7V5rBlCDTzzNbAtmbMpLfWcm8EGc3+Xur7PjvNvYLpsLumeTe9h30Xh
dcuo0m0fBJ31IIY69OqywzSc5lGV917F4Ikt0sXYlQKBgGcGqc1sPXwUfe2enPHH
ckhwmI83FpT/4bRAjbpYc5jk8CgE2Mbyhcn3mU9UV9Qwk4Hm/gLPzd4Fwn2fmnBF
zpo33wsQERgpwXIie33eURBAwv8hIWLy82HOoapl/TDBY3A8sw3Hknrh7As1Zkw8
aA294XjNSeb1N7Y8C18WeQBo
-----END PRIVATE KEY-----
"},
      "certificate": {"pem": "-----BEGIN CERTIFICATE-----
MIICxjCCAa6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAkxMjcu
MC4wLjEwHhcNMjQwNTA3MTAwMDAwWhcNMjYwNTA5MTE1OTU5WjAUMRIwEAYDVQQD
DAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEGSVP
7VSXlARSdBcflticgrLrLYy7VrqRXMsYo6j88iLD3mr7eMYCgHsPyoplaarUrhY4
Ktwb0DXj3JXslNkMwu7D9knk/Hh8f6stmuDQIa4GalCgEoc1QYQNEXSM+pYqeIcT
O+WZ6iW7sbPYtmGYerA3j8QbD81mC/vIjjtgfazco6H+3jU83zev2nJ1L/F32od7
kcsxei8DOLegkGX7G0yGkeRioGdb4SGouu9yhiJDEUcWMKyI6ncqQeTfPEj5ybxj
EJlcS/J2P771pwVK5MCb+6iH6p6AEIibys2tdEB2Mg6W06Pk+/DTyBY/4woNzaEh
9lYuB2WC1ymoPfOdAgMBAAGjIzAhMAsGA1UdDwQEAwIFoDASBgNVHREBAf8ECDAG
hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQC+woLpHs0fC8PHVuVnt1OT7D0p2OqF
tepOgDC+nn62/qjg67VZ0j8PG0Cgk+HVtT+wABObO5OuunotQVvLsPeX7dXRpKs7
XhK2ONGijzgQ9r638J8tsCRJB4HN7TZlcArzEP5WN4Kj1f22ZQFYsiQfvrUa2Vod
0pH/r46PCq5nYzth5wxRzMYSdarJYJeezbHswF2PEbySDWxBOWdNeUm6KqliPS4+
VvDI1k0Hb8/GuntF0zvX7w94Of8Gts41kgV6xhL+5DtsIjnhVL6BMx/Gat+las1F
02vrjqT0Lozclzit3jG6hRXyeNYVxLUZYPTWTexStbLiRj4g3axDUgLc
-----END CERTIFICATE-----
"},
      "demandClientCertificate": false,
      "hostnameVerification": false
    }
  },
  {
    "openPortOnDemand": true,
    "requestDomains": ["ACME"],
    "httpMode": "HTTP",
    "port": 80,
    "displayName": "ACME challenge connector",
    "networkOptions": {"ipAddress": "172.16.1.105"},
    "id": "43A75A8773E9C42439F3765A64C1CEB0"
  }
]

25.4 Remove

DELETE https://<HOST>:<PORT>/api/webserverConnectors/remove?version=0

Removes a webserver connector.

Required Permissions

  • API

  • Web server Read/Write Access

Request parameters

  • identifier

    The identifier of the connector, that should be removed.

Response Body Structure

The response body is strutured as an array. The array consists of WebserverConnector JSON objects. A description for its fields is at section 30.47.1. For the JSON schema refer to section 30.47.2.

Example

DELETE http://localhost:8088/api/webserverConnectors/remove?identifier=18B61B23A12F581B643EE7D4743DF77C&version=0
HTTP Response
HTTP/1.1 200 OK
HTTP Response Body
[
  {
    "openPortOnDemand": true,
    "requestDomains": ["GUI"],
    "httpMode": "HTTPS",
    "port": 443,
    "displayName": "Test Connector",
    "networkOptions": {"ipAddress": "127.0.0.1"},
    "id": "0E5F968B940FADCB2EAC835CED4A4589",
    "httpRedirectorPort": 80,
    "tlsOptions": {
      "privateKey": {"pem": "-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEGSVP7VSXlARS
dBcflticgrLrLYy7VrqRXMsYo6j88iLD3mr7eMYCgHsPyoplaarUrhY4Ktwb0DXj
3JXslNkMwu7D9knk/Hh8f6stmuDQIa4GalCgEoc1QYQNEXSM+pYqeIcTO+WZ6iW7
sbPYtmGYerA3j8QbD81mC/vIjjtgfazco6H+3jU83zev2nJ1L/F32od7kcsxei8D
OLegkGX7G0yGkeRioGdb4SGouu9yhiJDEUcWMKyI6ncqQeTfPEj5ybxjEJlcS/J2
P771pwVK5MCb+6iH6p6AEIibys2tdEB2Mg6W06Pk+/DTyBY/4woNzaEh9lYuB2WC
1ymoPfOdAgMBAAECggEAK4fqesD0RZbH09bt+Cb4DFxOI/tPUZn53gFzm1NfVNFa
itEBvjOr/wuu5c1AJi2MDNzdVVgcVvdEM0I5LNTJDvZp4un2MuUhyP9dTEkkjUdg
to9cuQAL8DRMQEtm7FHHSoPJdmlWOXHbMPyMcDfiV+MqYZciQSCjp7rSyI1cXHl9
bkcmVAhtSyL3QkXL+JZSwE3o2Oid/4jqGijNmOp8cOyCW7gI5p/vsBA16OcZYpc3
1hhkOVo8wMOFhj3QvIcTCkpkCnCM0tNmtDC3JuJsEIOZ/52b7vc2FaXkdTH9LdwA
JugFYBkiJhF3QXeWzLL3kAW8UUcfUVZ0A8GtEUrUwQKBgQD6upbUEqHyYx3+tlix
9ON6uJX4F8NRLypWFLsf7U4yvdL4J6IdOnoH4QWGlespruPE1fPNvGSe4CuUjEcK
nEYKDuK/o/RYq0EsmiHmX7xkE50KvfULSdaJGhLPRr19ApWjwOwUv/eotVcaC6Pl
TrYDrfPgFvvqtdSXr4GFjlWVQQKBgQDIOIl9/ciVgnUxnXQcPABDuTdVZiXEKbQW
qMQCfYD8xmjSN8S4qKgN9q2gUvbd/Kv++IrV9j2ROYM5JNNaW+HNPKzMWZpIqj7u
4n4Mrbt0QNhpXddkkR5mEpRC22hTt/913p4yLntEDfdjSH5sBIXnvAeWWC4WEKaZ
5OtDhdD7XQKBgQCCrySUbw3IF893hrWeM8UpnvJT+JbORuYrLe0GzBq5KeW/gHDo
CSW325qUtql29Xg0jUvhTTOo97DfYWpZ5nA/J9kaCCwA12pGBCRtPjMkenCdO7tw
YdEXbuak8PstIF68ln62pgRBBBvdMHoBuE/4hP+bKn+tq46ebVT2NuT2wQKBgQCV
rwbDJU6mz4AT1pWuYgEEoFxIwPPtAgx7gDIBdphO4XoN5tlv/86bmdZV7JBYhwSC
uob4zH1cq7V5rBlCDTzzNbAtmbMpLfWcm8EGc3+Xur7PjvNvYLpsLumeTe9h30Xh
dcuo0m0fBJ31IIY69OqywzSc5lGV917F4Ikt0sXYlQKBgGcGqc1sPXwUfe2enPHH
ckhwmI83FpT/4bRAjbpYc5jk8CgE2Mbyhcn3mU9UV9Qwk4Hm/gLPzd4Fwn2fmnBF
zpo33wsQERgpwXIie33eURBAwv8hIWLy82HOoapl/TDBY3A8sw3Hknrh7As1Zkw8
aA294XjNSeb1N7Y8C18WeQBo
-----END PRIVATE KEY-----
"},
      "certificate": {"pem": "-----BEGIN CERTIFICATE-----
MIICxjCCAa6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAkxMjcu
MC4wLjEwHhcNMjQwNTA3MTAwMDAwWhcNMjYwNTA5MTE1OTU5WjAUMRIwEAYDVQQD
DAkxMjcuMC4wLjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEGSVP
7VSXlARSdBcflticgrLrLYy7VrqRXMsYo6j88iLD3mr7eMYCgHsPyoplaarUrhY4
Ktwb0DXj3JXslNkMwu7D9knk/Hh8f6stmuDQIa4GalCgEoc1QYQNEXSM+pYqeIcT
O+WZ6iW7sbPYtmGYerA3j8QbD81mC/vIjjtgfazco6H+3jU83zev2nJ1L/F32od7
kcsxei8DOLegkGX7G0yGkeRioGdb4SGouu9yhiJDEUcWMKyI6ncqQeTfPEj5ybxj
EJlcS/J2P771pwVK5MCb+6iH6p6AEIibys2tdEB2Mg6W06Pk+/DTyBY/4woNzaEh
9lYuB2WC1ymoPfOdAgMBAAGjIzAhMAsGA1UdDwQEAwIFoDASBgNVHREBAf8ECDAG
hwR/AAABMA0GCSqGSIb3DQEBCwUAA4IBAQC+woLpHs0fC8PHVuVnt1OT7D0p2OqF
tepOgDC+nn62/qjg67VZ0j8PG0Cgk+HVtT+wABObO5OuunotQVvLsPeX7dXRpKs7
XhK2ONGijzgQ9r638J8tsCRJB4HN7TZlcArzEP5WN4Kj1f22ZQFYsiQfvrUa2Vod
0pH/r46PCq5nYzth5wxRzMYSdarJYJeezbHswF2PEbySDWxBOWdNeUm6KqliPS4+
VvDI1k0Hb8/GuntF0zvX7w94Of8Gts41kgV6xhL+5DtsIjnhVL6BMx/Gat+las1F
02vrjqT0Lozclzit3jG6hRXyeNYVxLUZYPTWTexStbLiRj4g3axDUgLc
-----END CERTIFICATE-----
"},
      "demandClientCertificate": false,
      "hostnameVerification": false
    }
  },
  {
    "openPortOnDemand": true,
    "requestDomains": ["ACME"],
    "httpMode": "HTTP",
    "port": 80,
    "displayName": "ACME challenge connector",
    "networkOptions": {"ipAddress": "172.16.1.105"},
    "id": "43A75A8773E9C42439F3765A64C1CEB0"
  }
]