Updating your Nexus IQ Server Configuration

IQ Server 1.43 and later use a more powerful configuration format for its networking and logging.

Due to this, there have been some significant changes in how to write your IQ Server configuration file. This is a YAML formatted file called  config.yml  and can be found in the installation directory.

The main changes are as follows:

  • The http section is replaced by the  server section
  • Application and admin server settings are separated under  applicationConnectors and  adminConnectors
  • adminUsername  and  adminPassword are   removed
  • connectorType is replaced by - type which can be set to one of http/https
  • ssl is replaced by using - type: https for an application/admin connector and putting the settings underneath
  • Each logging target (e.g. console, file, etc) is specified under appenders as a - type
  • Logging targets no longer have an enabled property (if they are specified then they are enabled)
  • request.log line format has changed and is now configurable

Examples showing these changes are shown below:

# Nexus IQ Server specific settings (not shown)
http:
  port: 8070
  adminPort: 8071
  adminUsername: user1234
  adminPassword: pass5678
  ssl:
    keyStore: /path/to/your/keystore/file
    keyStorePassword: yourpassword
  requestLog:
    console:
      enabled: false
    file:
      enabled: true
      currentLogFilename: ./log/request.log
      archivedLogFilenamePattern: ./log/request-%d.log.gz
      archivedFileCount: 50
logging:
  level: DEBUG
  console:
    enabled: true
    threshold: INFO
  file:
    enabled: true
    threshold: ALL
    currentLogFilename: ./log/clm-server.log
    archivedLogFilenamePattern: ./log/clm-server-%d.log.gz
    archivedFileCount: 50


# Nexus IQ Server specific settings (not shown) remain unchanged
# adminUsername and adminPassword no longer exist
# requestLog appenders logFormat must be explicitly added to maintain the previous versions default format
server:
  applicationConnectors:
    - type: https
      port: 8070
      keyStorePath: /path/to/your/keystore/file
      keyStorePassword: yourpassword
  adminConnectors:
    - type: https
      port: 8071
      keyStorePath: /path/to/your/keystore/file
      keyStorePassword: yourpassword
  requestLog:
    appenders:
      # No - type: console means it is disabled
      - type: file
        # preferred format as of version 1.43
        logFormat: "%clientHost %l %user [%date] \"%requestURL\" %statusCode %bytesSent %elapsedTime \"%header{User-Agent}\""
        currentLogFilename: ./log/request.log
        archivedLogFilenamePattern: ./log/request-%d.log.gz
        archivedFileCount: 50
logging:
  level: DEBUG
  appenders:
    - type: console
      threshold: INFO
    - type: file
      threshold: ALL
      currentLogFilename: ./log/clm-server.log
      archivedLogFilenamePattern: ./log/clm-server-%d.log.gz
      archivedFileCount: 50

Note that these examples are heavily truncated for easy viewing and do not include any IQ Server specific configuration settings, which remain unchanged.

If you previously used the adminUsername and adminPassword options, we recommend using a reverse proxy instead to shield and authenticate access to the operational services.

For more information on the new configuration format, consult the respective sections of the IQ Server Configuration: