Skip to content

Configuration - HTTP Binding Settings

The CSE supports HTTP binding for communication with clients and other CSEs. The HTTP binding is always enabled and its settings are configured in the configuration file under the section [http] and its subsections.

General Settings

Section: [http]

These are the general settings for the HTTP binding.

Setting Description Default Configuration Name
port Port to listen to. ${basic.config:httpPort} http.port
listenIF Interface to listen to. Use 0.0.0.0 for "all" interfaces. ${basic.config:networkInterface} http.listenIF
address Own address. Should be a local/public reachable address. http://${basic.config:cseHost}:${basic.config:httpPort} http.address
root CSE Server root. Never provide a trailing /. empty string http.root
enableRemoteConfiguration Enable an endpoint for get and set certain configuration values via a REST interface.
ATTENTION: Enabling this feature exposes configuration values, IDs and passwords, and is a security risk.
False http.enableRemoteConfiguration
enableStructureEndpoint Enable an endpoint for getting a structured overview about a CSE's resource tree and deployment infrastructure (remote CSE's).
ATTENTION: Enabling this feature exposes various potentially sensitive information.
See also the [console].hideResources setting to hide resources from the tree.
False http.enableStructureEndpoint
enableUpperTesterEndpoint Enable an endpoint for supporting Upper Tester commands to the CSE. This is to support certain testing and certification systems. See oneM2M's TS-0019 for further details.
ATTENTION: Enabling this feature may lead to a total loss of data.
False http.enableUpperTesterEndpoint
allowPatchForDelete Allow the http PATCH method to be used as a replacement for the DELETE method. This is useful for constraint devices that only support http/1.0, which doesn't specify the DELETE method. False http.allowPatchForDelete
timeout Timeout when sending http requests and waiting for responses. 10 seconds http.timeout

Security

Section: [http.security]

These are the security settings for the HTTP binding.

Setting Description Default Configuration Name
useTLS Enable TLS for communications.
This can be overridden by the command line arguments --http and --https.
See oneM2M TS-0003 Clause 8.2.1 "Overview on Security Association Establishment Frameworks".
False http.security.useTLS
tlsVersion TLS version to be used in connections.
Allowed versions: TLS1.1, TLS1.2, auto . Use auto to allow client-server certificate version negotiation.
auto http.security.tlsVersion
verifyCertificate Verify certificates in requests. Set to False when using self-signed certificates. False http.security.verifyCertificate
caCertificateFile Path and filename of the certificate file. empty string http.security.caCertificateFile
caPrivateKeyFile Path and filename of the private key file. empty string http.security.caPrivateKeyFile
enableBasicAuth Enable basic authentication for the HTTP binding. False http.security.enableBasicAuth
enableTokenAuth Enable token authentication for the HTTP binding. False http.security.enableTokenAuth
basicAuthFile Path and filename of the http basic authentication file. The file must contain lines with the format "username:password". Comments are lines starting with a # character. ${basic.config:baseDirectory}/certs/http_basic_auth.txt http.security.basicAuthFile
tokenAuthFile Path and filename of the http bearer token authentication file. The file must contain lines with the format "token". Comments are lines starting with a # character. ${basic.config:baseDirectory}/certs/http_token_auth.txt http.security.tokenAuthFile

CORS

Section: [http.cors]

These are the CORS (Cross-Origin Resource Sharing) settings for the HTTP binding.

Setting Description Default Configuration Name
enable Enable CORS support for the HTTP binding. False http.cors.enable
resources A comma separated list of allowed resource paths. The list elements could be regular expressions.
"/*" , ie. all resources under the HTTP server's root. http.cors.resources

WSGI

Section: [http.wsgi]

These are the settings for the WSGI (Web Server Gateway Interface) support.

Setting Description Default Configuration Name
enable Enable WSGI support for the HTTP binding. False http.wsgi.enable
threadPoolSize The number of threads used to process requests. This number should be of similar size as the connectionLimit setting. 100 http.wsgi.threadPoolSize
connectionLimit The number of possible parallel connections that can be accepted by the WSGI server. Note: One connection uses one system file descriptor. 100 http.wsgi.connectionLimit