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.
Updated 8 months ago