| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- ##--------------------------------------------------------------------
- ## WSS Listener
- ##
- ## Add a WSS Listener
- ##--------------------------------------------------------------------
- ## Note: This is an example of how to configure this feature
- ## you should copy and paste the below data into the emqx.conf for working
- ## The WSS listener supports all the fields listed in listeners.ws.conf.example
- ## only the WSS-specific fields are shown here
- ## Note: Modifying the 'wssname' to what you need
- listeners.wss.wssname {
- ## Port or Address to listen on, 0 means disable
- bind = 8084 ## or with an IP, e.g. "127.0.0.1:8084"
- enabled = true
- enable_authn = true
- max_connections = infinity
- proxy_protocol = false
- proxy_protocol_timeout = 3s
- mountpoint = ""
- tcp_options {
- active_n = 100
- backlog = 1024
- buffer = 4KB
- high_watermark = 1MB
- keepalive = none
- nodelay = true
- reuseaddr = true
- send_timeout = 15s
- send_timeout_close = true
- }
- websocket {
- allow_origin_absence = true
- check_origin_enable = false
- check_origins = "http://localhost:18083, http://127.0.0.1:18083"
- compress = false
- deflate_opts {
- client_context_takeover = "takeover"
- client_max_window_bits = 15
- mem_level = 8
- server_context_takeover = "takeover"
- server_max_window_bits = 15
- strategy = "default"
- }
- fail_if_no_subprotocol = true
- idle_timeout = "7200s"
- max_frame_size = "infinity"
- mqtt_path = "/mqtt"
- mqtt_piggyback = "multiple"
- proxy_address_header = "x-forwarded-for"
- proxy_port_header = "x-forwarded-port"
- supported_subprotocols = "mqtt, mqtt-v3, mqtt-v3.1.1, mqtt-v5"
- }
- ssl_options {
- ## Trusted PEM format CA certificates bundle file
- cacertfile = "data/certs/cacert.pem"
- ## PEM format certificates chain file
- certfile = "data/certs/cert.pem"
- ## PEM format private key file
- keyfile = "data/certs/key.pem"
- ## Enable or disable peer verification
- verify = verify_none ## use verify_peer to enable
- ## if `verify' is enabled, whit true, the connection fails if the client does not have a certificate to send
- fail_if_no_peer_cert = false
- ## Enable TLS session reuse
- reuse_sessions = true
- ## Maximum number of non-self-issued intermediate certificates that can follow the peer certificate in a valid certification path
- depth = 10
- ## Which versions are to be supported
- versions = [tlsv1.3, tlsv1.2]
- ## TLS cipher suite names
- ## Note: By default, all available suites are supported, you do not need to set this
- ciphers = ["TLS_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"]
- ## Allows a client and a server to renegotiate the parameters of the SSL connection on the fly
- secure_renegotiate = true
- ## Log level for SSL communication
- ## Type: emergency | alert | critical | error | warning | notice | info | debug | none | all
- log_level = notice
- ## Hibernate the SSL process after idling for amount of time reducing its memory footprint
- hibernate_after = 5s
- ## Forces the cipher to be set based on the server-specified order instead of the client-specified order
- honor_cipher_order = true
- ## Setting this to false to disable client-initiated renegotiation
- client_renegotiation = true
- ## Maximum time duration allowed for the handshake to complete
- handshake_timeout = 15s
- }
- }
|