Documentation
DocumentationDiscussions
Documentation

URLs

View and change the web URL where Seq is hosted.

Seq uses the Windows HTTP.sys networking stack to host the HTTP event ingestion endpoint and web user interface.

By default, Seq will listen on http://localhost:5341, accepting all requests on that port (regardless of the hostname specified by the incoming request).

To use a specific hostname, or listen at a virtual path on the server, the listen URIs need to be reconfigured.

Viewing the Listen URI

Seq stores its URI configuration in Seq.json under the storage path.

The section displaying the current values will look like:

"api": {
    "listenUris": [
      "http://seq.example.com:5341"
    ]
  },

More than one URI may be in use.

The seq config command can be used to edit configuration from the command-line. To see the current value, run:

seq config get -k api.listenUris

Changing Listen URIs

When selecting a new URI, for example. the standard HTTP port 80 or the 443 HTTPS port, it is important to make sure that there are no other applications on the same machine listening at the same location.

📘

If you think you might be hitting a port conflict, you can verify this using the Windows netstat command.

If Seq is running as an administrative account such as Local System, simply stop Seq, update the configuration file, and restart:

seq config set -k api.listenUris -v https://seq.example.com
seq service restart

If Seq is running as a restricted account, the quickest way to ensure that all appropriate permissions are applied is to re-install the Seq service with the new details:

seq service stop
seq service uninstall
seq service install --listen="https://seq.example.com" -u "MACHINE\user" -p "password"
seq service start

If Seq is using a non-default storage path, make sure the --storage parameter is passed to the install command as well.

To configure SSL, a certificate must also be bound to the appropriate port using the bind-ssl command.

Ingestion Port

A single port may be designated as an ingestion port, through which Seq will allow ingestion of events only (the API will not be available). This is useful in situations where log events need to be received from a wider network (i.e. the Internet) than the API should be available to.

To configure an ingestion port, a corresponding entry must appear in listenUris. For example, if the UI is served on https://seq.example.com, ingestion might be allowed on https://seq.example.com:45341. The additional api.ingestionPort setting marks one of the URIs as ingestion-only:

seq config set -k api.listenUris -v https://seq.example.com,https://seq.example.com:45341
seq config set -k api.ingestionPort -v 45341
seq service restart

An ingestion port is only effective as an additional security measure in conjunction with a load balancer or firewall that limits access to the available ports.

📘

Controlling ingestion

The ingestion port setting does not prevent ingestion through the API/UI ports: to limit who or what can send data to Seq, navigate to Settings > API keys and select Require an API key for HTTP/S ingestion.


What’s Next