mirror of
https://github.com/taigrr/nats.docs
synced 2025-01-18 04:03:23 -08:00
3349 lines
93 KiB
HTML
3349 lines
93 KiB
HTML
|
|
<!DOCTYPE HTML>
|
|
<html lang="" >
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
<title>Basics ยท NATS</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="description" content="">
|
|
<meta name="generator" content="GitBook 3.2.3">
|
|
<meta name="author" content="The NATS Maintainers">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../gitbook/style.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-prism/prism.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-toggle-chapters/toggle.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-anchors/plugin.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-search/search.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../gitbook/gitbook-plugin-fontsettings/website.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="HandheldFriendly" content="true"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../../gitbook/images/apple-touch-icon-precomposed-152.png">
|
|
<link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
|
|
|
|
|
|
<link rel="next" href="inspecting_jwts.html" />
|
|
|
|
|
|
<link rel="prev" href="./" />
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
|
|
|
|
</head>
|
|
<body>
|
|
|
|
|
|
<div class="book">
|
|
<div class="book-summary">
|
|
|
|
|
|
<div id="book-search-input" role="search">
|
|
<input type="text" placeholder="Type to search" />
|
|
</div>
|
|
|
|
|
|
<nav role="navigation">
|
|
|
|
|
|
|
|
<ul class="summary">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="chapter " data-level="1.1" data-path="../../">
|
|
|
|
<a href="../../">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.2" data-path="../../whats_new/whats_new_20.html">
|
|
|
|
<a href="../../whats_new/whats_new_20.html">
|
|
|
|
|
|
What's New in 2.0
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.3" data-path="../../faq.html">
|
|
|
|
<a href="../../faq.html">
|
|
|
|
|
|
FAQ
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.4" >
|
|
|
|
<a target="_blank" href="https://nats.io">
|
|
|
|
|
|
nats.io
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Concepts</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="2.1" data-path="../../developer/concepts/intro.html">
|
|
|
|
<a href="../../developer/concepts/intro.html">
|
|
|
|
|
|
What is NATS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2" data-path="../../developer/concepts/subjects.html">
|
|
|
|
<a href="../../developer/concepts/subjects.html">
|
|
|
|
|
|
Subject-Based Messaging
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3" data-path="../../developer/concepts/pubsub.html">
|
|
|
|
<a href="../../developer/concepts/pubsub.html">
|
|
|
|
|
|
Publish-Subscribe
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4" data-path="../../developer/concepts/reqreply.html">
|
|
|
|
<a href="../../developer/concepts/reqreply.html">
|
|
|
|
|
|
Request-Reply
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5" data-path="../../developer/concepts/queue.html">
|
|
|
|
<a href="../../developer/concepts/queue.html">
|
|
|
|
|
|
Queue Groups
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.6" data-path="../../developer/concepts/acks.html">
|
|
|
|
<a href="../../developer/concepts/acks.html">
|
|
|
|
|
|
Acknowledgements
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.7" data-path="../../developer/concepts/seq_num.html">
|
|
|
|
<a href="../../developer/concepts/seq_num.html">
|
|
|
|
|
|
Sequence Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Developing With NATS</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="3.1" data-path="../../developer/">
|
|
|
|
<a href="../../developer/">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2" data-path="../../developer/connecting/intro.html">
|
|
|
|
<a href="../../developer/connecting/intro.html">
|
|
|
|
|
|
Connecting
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.2.1" data-path="../../developer/connecting/default_server.html">
|
|
|
|
<a href="../../developer/connecting/default_server.html">
|
|
|
|
|
|
Connecting to the Default Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.2" data-path="../../developer/connecting/specific_server.html">
|
|
|
|
<a href="../../developer/connecting/specific_server.html">
|
|
|
|
|
|
Connecting to a Specific Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.3" data-path="../../developer/connecting/cluster.html">
|
|
|
|
<a href="../../developer/connecting/cluster.html">
|
|
|
|
|
|
Connecting to a Cluster
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.4" data-path="../../developer/connecting/connect_timeout.html">
|
|
|
|
<a href="../../developer/connecting/connect_timeout.html">
|
|
|
|
|
|
Setting a Connect Timeout
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.5" data-path="../../developer/connecting/pingpong.html">
|
|
|
|
<a href="../../developer/connecting/pingpong.html">
|
|
|
|
|
|
Ping/Pong Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.6" data-path="../../developer/connecting/protocol.html">
|
|
|
|
<a href="../../developer/connecting/protocol.html">
|
|
|
|
|
|
Controlling the Client/Server Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.2.7" data-path="../../developer/connecting/noecho.html">
|
|
|
|
<a href="../../developer/connecting/noecho.html">
|
|
|
|
|
|
Turning Off Echo'd Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3" data-path="../../developer/reconnect/intro.html">
|
|
|
|
<a href="../../developer/reconnect/intro.html">
|
|
|
|
|
|
Automatic Reconnections
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.3.1" data-path="../../developer/reconnect/disable.html">
|
|
|
|
<a href="../../developer/reconnect/disable.html">
|
|
|
|
|
|
Disabling Reconnect
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.2" data-path="../../developer/reconnect/max.html">
|
|
|
|
<a href="../../developer/reconnect/max.html">
|
|
|
|
|
|
Set the Number of Reconnect Attempts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.3" data-path="../../developer/reconnect/wait.html">
|
|
|
|
<a href="../../developer/reconnect/wait.html">
|
|
|
|
|
|
Pausing Between Reconnect Attempts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.4" data-path="../../developer/reconnect/random.html">
|
|
|
|
<a href="../../developer/reconnect/random.html">
|
|
|
|
|
|
Avoiding the Thundering Herd
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.5" data-path="../../developer/reconnect/events.html">
|
|
|
|
<a href="../../developer/reconnect/events.html">
|
|
|
|
|
|
Listening for Reconnect Events
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.3.6" data-path="../../developer/reconnect/buffer.html">
|
|
|
|
<a href="../../developer/reconnect/buffer.html">
|
|
|
|
|
|
Buffering Messages During Reconnect Attempts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4" data-path="../../developer/security/intro.html">
|
|
|
|
<a href="../../developer/security/intro.html">
|
|
|
|
|
|
Securing Connections
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.4.1" data-path="../../developer/security/userpass.html">
|
|
|
|
<a href="../../developer/security/userpass.html">
|
|
|
|
|
|
Authenticating with a User and Password
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.2" data-path="../../developer/security/token.html">
|
|
|
|
<a href="../../developer/security/token.html">
|
|
|
|
|
|
Authenticating with a Token
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.3" data-path="../../developer/security/nkey.html">
|
|
|
|
<a href="../../developer/security/nkey.html">
|
|
|
|
|
|
Authenticating with an NKey
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.4" data-path="../../developer/security/creds.html">
|
|
|
|
<a href="../../developer/security/creds.html">
|
|
|
|
|
|
Authenticating with a Credentials File
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.4.5" data-path="../../developer/security/tls.html">
|
|
|
|
<a href="../../developer/security/tls.html">
|
|
|
|
|
|
Encrypting Connections with TLS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5" data-path="../../developer/receiving/intro.html">
|
|
|
|
<a href="../../developer/receiving/intro.html">
|
|
|
|
|
|
Receiving Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.5.1" data-path="../../developer/receiving/sync.html">
|
|
|
|
<a href="../../developer/receiving/sync.html">
|
|
|
|
|
|
Synchronous Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.2" data-path="../../developer/receiving/async.html">
|
|
|
|
<a href="../../developer/receiving/async.html">
|
|
|
|
|
|
Asynchronous Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.3" data-path="../../developer/receiving/unsubscribing.html">
|
|
|
|
<a href="../../developer/receiving/unsubscribing.html">
|
|
|
|
|
|
Unsubscribing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.4" data-path="../../developer/receiving/unsub_after.html">
|
|
|
|
<a href="../../developer/receiving/unsub_after.html">
|
|
|
|
|
|
Unsubscribing After N Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.5" data-path="../../developer/receiving/reply.html">
|
|
|
|
<a href="../../developer/receiving/reply.html">
|
|
|
|
|
|
Replying to a Message
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.6" data-path="../../developer/receiving/wildcards.html">
|
|
|
|
<a href="../../developer/receiving/wildcards.html">
|
|
|
|
|
|
Wildcard Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.7" data-path="../../developer/receiving/queues.html">
|
|
|
|
<a href="../../developer/receiving/queues.html">
|
|
|
|
|
|
Queue Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.8" data-path="../../developer/receiving/drain.html">
|
|
|
|
<a href="../../developer/receiving/drain.html">
|
|
|
|
|
|
Draining Messages Before Disconnect
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.5.9" data-path="../../developer/receiving/structure.html">
|
|
|
|
<a href="../../developer/receiving/structure.html">
|
|
|
|
|
|
Structured Data
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6" data-path="../../developer/sending/intro.html">
|
|
|
|
<a href="../../developer/sending/intro.html">
|
|
|
|
|
|
Sending Messages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.6.1" data-path="../../developer/sending/replyto.html">
|
|
|
|
<a href="../../developer/sending/replyto.html">
|
|
|
|
|
|
Including a Reply Subject
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6.2" data-path="../../developer/sending/request_reply.html">
|
|
|
|
<a href="../../developer/sending/request_reply.html">
|
|
|
|
|
|
Request-Reply Semantics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6.3" data-path="../../developer/sending/caches.html">
|
|
|
|
<a href="../../developer/sending/caches.html">
|
|
|
|
|
|
Caches, Flush and Ping
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.6.4" data-path="../../developer/sending/structure.html">
|
|
|
|
<a href="../../developer/sending/structure.html">
|
|
|
|
|
|
Sending Structured Data
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.7" data-path="../../developer/events/intro.html">
|
|
|
|
<a href="../../developer/events/intro.html">
|
|
|
|
|
|
Monitoring the Connection
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.7.1" data-path="../../developer/events/events.html">
|
|
|
|
<a href="../../developer/events/events.html">
|
|
|
|
|
|
Listen for Connection Events
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.7.2" data-path="../../developer/events/slow.html">
|
|
|
|
<a href="../../developer/events/slow.html">
|
|
|
|
|
|
Slow Consumers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8" data-path="../../developer/tutorials/intro.html">
|
|
|
|
<a href="../../developer/tutorials/intro.html">
|
|
|
|
|
|
Tutorials
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.8.1" data-path="../../developer/tutorials/pubsub.html">
|
|
|
|
<a href="../../developer/tutorials/pubsub.html">
|
|
|
|
|
|
Explore NATS Pub/Sub
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8.2" data-path="../../developer/tutorials/reqreply.html">
|
|
|
|
<a href="../../developer/tutorials/reqreply.html">
|
|
|
|
|
|
Explore NATS Request/Reply
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8.3" data-path="../../developer/tutorials/queues.html">
|
|
|
|
<a href="../../developer/tutorials/queues.html">
|
|
|
|
|
|
Explore NATS Queueing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.8.4" data-path="../../developer/tutorials/custom_dialer.html">
|
|
|
|
<a href="../../developer/tutorials/custom_dialer.html">
|
|
|
|
|
|
Advanced Connect and Custom Dialer in Go
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Server</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="4.1" data-path="../../nats_server/installation.html">
|
|
|
|
<a href="../../nats_server/installation.html">
|
|
|
|
|
|
Installing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.2" data-path="../../nats_server/running.html">
|
|
|
|
<a href="../../nats_server/running.html">
|
|
|
|
|
|
Running
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.2.1" data-path="../../nats_server/windows_srv.html">
|
|
|
|
<a href="../../nats_server/windows_srv.html">
|
|
|
|
|
|
Window Service
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.3" data-path="../../nats_server/clients.html">
|
|
|
|
<a href="../../nats_server/clients.html">
|
|
|
|
|
|
Clients
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.4" data-path="../../nats_server/flags.html">
|
|
|
|
<a href="../../nats_server/flags.html">
|
|
|
|
|
|
Flags
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5" data-path="../../nats_server/configuration.html">
|
|
|
|
<a href="../../nats_server/configuration.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.1" data-path="../../nats_server/securing_nats.html">
|
|
|
|
<a href="../../nats_server/securing_nats.html">
|
|
|
|
|
|
Securing NATS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.1.1" data-path="../../nats_server/tls.html">
|
|
|
|
<a href="../../nats_server/tls.html">
|
|
|
|
|
|
Enabling TLS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2" data-path="../../nats_server/auth_intro.html">
|
|
|
|
<a href="../../nats_server/auth_intro.html">
|
|
|
|
|
|
Authentication
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.1.2.1" data-path="../../nats_server/tokens.html">
|
|
|
|
<a href="../../nats_server/tokens.html">
|
|
|
|
|
|
Tokens
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.2" data-path="../../nats_server/username_password.html">
|
|
|
|
<a href="../../nats_server/username_password.html">
|
|
|
|
|
|
Username/Password
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.3" data-path="../../nats_server/tls_mutual_auth.html">
|
|
|
|
<a href="../../nats_server/tls_mutual_auth.html">
|
|
|
|
|
|
TLS Authentication
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.4" data-path="../../nats_server/nkey_auth.html">
|
|
|
|
<a href="../../nats_server/nkey_auth.html">
|
|
|
|
|
|
NKeys
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.5" data-path="../../nats_server/accounts.html">
|
|
|
|
<a href="../../nats_server/accounts.html">
|
|
|
|
|
|
Accounts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.6" data-path="../../nats_server/jwt_auth.html">
|
|
|
|
<a href="../../nats_server/jwt_auth.html">
|
|
|
|
|
|
JWTs
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.2.7" data-path="../../nats_server/auth_timeout.html">
|
|
|
|
<a href="../../nats_server/auth_timeout.html">
|
|
|
|
|
|
Authentication Timeout
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.1.3" data-path="../../nats_server/authorization.html">
|
|
|
|
<a href="../../nats_server/authorization.html">
|
|
|
|
|
|
Authorization
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.2" data-path="../../nats_server/clustering.html">
|
|
|
|
<a href="../../nats_server/clustering.html">
|
|
|
|
|
|
Clustering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.2.1" data-path="../../nats_server/cluster_config.html">
|
|
|
|
<a href="../../nats_server/cluster_config.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.2.2" data-path="../../nats_server/cluster_tls.html">
|
|
|
|
<a href="../../nats_server/cluster_tls.html">
|
|
|
|
|
|
TLS Authentication
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.3" data-path="../../gateways/">
|
|
|
|
<a href="../../gateways/">
|
|
|
|
|
|
Gateways
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.3.1" data-path="../../gateways/gateway.html">
|
|
|
|
<a href="../../gateways/gateway.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.4" data-path="../../leafnodes/">
|
|
|
|
<a href="../../leafnodes/">
|
|
|
|
|
|
Leaf Nodes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.5.4.1" data-path="../../leafnodes/leafnode_conf.html">
|
|
|
|
<a href="../../leafnodes/leafnode_conf.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.5" data-path="../../nats_server/logging.html">
|
|
|
|
<a href="../../nats_server/logging.html">
|
|
|
|
|
|
Logging
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.5.6" data-path="../../nats_server/monitoring.html">
|
|
|
|
<a href="../../nats_server/monitoring.html">
|
|
|
|
|
|
Monitoring
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6" data-path="../../nats_admin/">
|
|
|
|
<a href="../../nats_admin/">
|
|
|
|
|
|
Managing A NATS Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.6.1" data-path="../../nats_admin/upgrading_cluster.html">
|
|
|
|
<a href="../../nats_admin/upgrading_cluster.html">
|
|
|
|
|
|
Upgrading a Cluster
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6.2" data-path="../../nats_admin/slow_consumers.html">
|
|
|
|
<a href="../../nats_admin/slow_consumers.html">
|
|
|
|
|
|
Slow Consumers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6.3" data-path="../../nats_admin/signals.html">
|
|
|
|
<a href="../../nats_admin/signals.html">
|
|
|
|
|
|
Signals
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.6.4" data-path="../../sys_accounts/">
|
|
|
|
<a href="../../sys_accounts/">
|
|
|
|
|
|
System Accounts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.6.4.1" data-path="../../sys_accounts/sys_accounts.html">
|
|
|
|
<a href="../../sys_accounts/sys_accounts.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.7" data-path="../../nats_docker/">
|
|
|
|
<a href="../../nats_docker/">
|
|
|
|
|
|
NATS and Docker
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.7.1" data-path="../../nats_docker/nats-docker-tutorial.html">
|
|
|
|
<a href="../../nats_docker/nats-docker-tutorial.html">
|
|
|
|
|
|
Tutorial
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.7.2" data-path="../../nats_docker/docker_swarm.html">
|
|
|
|
<a href="../../nats_docker/docker_swarm.html">
|
|
|
|
|
|
Docker Swarm
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Tools</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="5.1" data-path="../mkpasswd.html">
|
|
|
|
<a href="../mkpasswd.html">
|
|
|
|
|
|
mkpasswd
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.2" data-path="../nk.html">
|
|
|
|
<a href="../nk.html">
|
|
|
|
|
|
nk
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3" data-path="../nsc/">
|
|
|
|
<a href="../nsc/">
|
|
|
|
|
|
nsc
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.3.1" data-path="../nsc/nsc.html">
|
|
|
|
<a href="../nsc/nsc.html">
|
|
|
|
|
|
Basics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.2" data-path="../nsc/streams.html">
|
|
|
|
<a href="../nsc/streams.html">
|
|
|
|
|
|
Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.3" data-path="../nsc/services.html">
|
|
|
|
<a href="../nsc/services.html">
|
|
|
|
|
|
Services
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.4" data-path="../nsc/signing_keys.html">
|
|
|
|
<a href="../nsc/signing_keys.html">
|
|
|
|
|
|
Signing Keys
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
|
|
|
|
<a href="../nsc/revocation.html">
|
|
|
|
|
|
Revocation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
|
|
|
|
<a href="../nsc/managed.html">
|
|
|
|
|
|
Managed Operators
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4" data-path="./">
|
|
|
|
<a href="./">
|
|
|
|
|
|
nats-account-server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter active" data-level="5.4.1" data-path="nas_conf.html">
|
|
|
|
<a href="nas_conf.html">
|
|
|
|
|
|
Basics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.2" data-path="inspecting_jwts.html">
|
|
|
|
<a href="inspecting_jwts.html">
|
|
|
|
|
|
Inspecting JWTs
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.3" data-path="dir_store.html">
|
|
|
|
<a href="dir_store.html">
|
|
|
|
|
|
Directory Store
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.4" data-path="notifications.html">
|
|
|
|
<a href="notifications.html">
|
|
|
|
|
|
Update Notifications
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.4.5" data-path="mem_resolver.html">
|
|
|
|
<a href="mem_resolver.html">
|
|
|
|
|
|
Memory Resolver
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.5" data-path="../nats_top/">
|
|
|
|
<a href="../nats_top/">
|
|
|
|
|
|
nats-top
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.5.1" data-path="../nats_top/nats-top-tutorial.html">
|
|
|
|
<a href="../nats_top/nats-top-tutorial.html">
|
|
|
|
|
|
Tutorial
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.6" data-path="../natsbench.html">
|
|
|
|
<a href="../natsbench.html">
|
|
|
|
|
|
nats-bench
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Streaming Concepts</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="6.1" data-path="../../nats_streaming/intro.html">
|
|
|
|
<a href="../../nats_streaming/intro.html">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.2" data-path="../../nats_streaming/relation-to-nats.html">
|
|
|
|
<a href="../../nats_streaming/relation-to-nats.html">
|
|
|
|
|
|
Relation to NATS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.3" data-path="../../nats_streaming/client-connections.html">
|
|
|
|
<a href="../../nats_streaming/client-connections.html">
|
|
|
|
|
|
Client Connections
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4" data-path="../../nats_streaming/channels/channels.html">
|
|
|
|
<a href="../../nats_streaming/channels/channels.html">
|
|
|
|
|
|
Channels
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.4.1" data-path="../../nats_streaming/channels/message-log.html">
|
|
|
|
<a href="../../nats_streaming/channels/message-log.html">
|
|
|
|
|
|
Message Log
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2" data-path="../../nats_streaming/channels/subscriptions/subscriptions.html">
|
|
|
|
<a href="../../nats_streaming/channels/subscriptions/subscriptions.html">
|
|
|
|
|
|
Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.4.2.1" data-path="../../nats_streaming/channels/subscriptions/regular.html">
|
|
|
|
<a href="../../nats_streaming/channels/subscriptions/regular.html">
|
|
|
|
|
|
Regular
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2.2" data-path="../../nats_streaming/channels/subscriptions/durable.html">
|
|
|
|
<a href="../../nats_streaming/channels/subscriptions/durable.html">
|
|
|
|
|
|
Durable
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2.3" data-path="../../nats_streaming/channels/subscriptions/queue-group.html">
|
|
|
|
<a href="../../nats_streaming/channels/subscriptions/queue-group.html">
|
|
|
|
|
|
Queue Group
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.4.2.4" data-path="../../nats_streaming/channels/subscriptions/redelivery.html">
|
|
|
|
<a href="../../nats_streaming/channels/subscriptions/redelivery.html">
|
|
|
|
|
|
Redelivery
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.5" data-path="../../nats_streaming/store-interface.html">
|
|
|
|
<a href="../../nats_streaming/store-interface.html">
|
|
|
|
|
|
Store Interface
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.6" data-path="../../nats_streaming/store-encryption.html">
|
|
|
|
<a href="../../nats_streaming/store-encryption.html">
|
|
|
|
|
|
Store Encryption
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7" data-path="../../nats_streaming/clustering/clustering.html">
|
|
|
|
<a href="../../nats_streaming/clustering/clustering.html">
|
|
|
|
|
|
Clustering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.7.1" data-path="../../nats_streaming/clustering/supported-stores.html">
|
|
|
|
<a href="../../nats_streaming/clustering/supported-stores.html">
|
|
|
|
|
|
Supported Stores
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7.2" data-path="../../nats_streaming/clustering/configuration.html">
|
|
|
|
<a href="../../nats_streaming/clustering/configuration.html">
|
|
|
|
|
|
Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7.3" data-path="../../nats_streaming/clustering/auto-configuration.html">
|
|
|
|
<a href="../../nats_streaming/clustering/auto-configuration.html">
|
|
|
|
|
|
Auto Configuration
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.7.4" data-path="../../nats_streaming/clustering/containers.html">
|
|
|
|
<a href="../../nats_streaming/clustering/containers.html">
|
|
|
|
|
|
Containers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8" data-path="../../nats_streaming/fault-tolerance/ft.html">
|
|
|
|
<a href="../../nats_streaming/fault-tolerance/ft.html">
|
|
|
|
|
|
Fault Tolerance
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.8.1" data-path="../../nats_streaming/fault-tolerance/active-server.html">
|
|
|
|
<a href="../../nats_streaming/fault-tolerance/active-server.html">
|
|
|
|
|
|
Active Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8.2" data-path="../../nats_streaming/fault-tolerance/standby-server.html">
|
|
|
|
<a href="../../nats_streaming/fault-tolerance/standby-server.html">
|
|
|
|
|
|
Standby Servers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8.3" data-path="../../nats_streaming/fault-tolerance/shared-state.html">
|
|
|
|
<a href="../../nats_streaming/fault-tolerance/shared-state.html">
|
|
|
|
|
|
Shared State
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.8.4" data-path="../../nats_streaming/fault-tolerance/failover.html">
|
|
|
|
<a href="../../nats_streaming/fault-tolerance/failover.html">
|
|
|
|
|
|
Failover
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.9" data-path="../../nats_streaming/partitioning.html">
|
|
|
|
<a href="../../nats_streaming/partitioning.html">
|
|
|
|
|
|
Partitioning
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="6.10" data-path="../../nats_streaming/monitoring/monitoring.html">
|
|
|
|
<a href="../../nats_streaming/monitoring/monitoring.html">
|
|
|
|
|
|
Monitoring
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="6.10.1" data-path="../../nats_streaming/monitoring/endpoints.html">
|
|
|
|
<a href="../../nats_streaming/monitoring/endpoints.html">
|
|
|
|
|
|
Endpoints
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">Developing With NATS Streaming</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="7.1" data-path="../../developer/streaming/">
|
|
|
|
<a href="../../developer/streaming/">
|
|
|
|
|
|
Introduction
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.2" data-path="../../developer/streaming/connecting.html">
|
|
|
|
<a href="../../developer/streaming/connecting.html">
|
|
|
|
|
|
Connecting to NATS Streaming
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.3" data-path="../../developer/streaming/publishing.html">
|
|
|
|
<a href="../../developer/streaming/publishing.html">
|
|
|
|
|
|
Publishing to a Channel
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.4" data-path="../../developer/streaming/receiving.html">
|
|
|
|
<a href="../../developer/streaming/receiving.html">
|
|
|
|
|
|
Receiving Messages from a Channel
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.5" data-path="../../developer/streaming/durables.html">
|
|
|
|
<a href="../../developer/streaming/durables.html">
|
|
|
|
|
|
Durable Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.6" data-path="../../developer/streaming/queues.html">
|
|
|
|
<a href="../../developer/streaming/queues.html">
|
|
|
|
|
|
Queue Subscriptions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.7" data-path="../../developer/streaming/acks.html">
|
|
|
|
<a href="../../developer/streaming/acks.html">
|
|
|
|
|
|
Acknowledgements
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="7.8" data-path="../../developer/streaming/protocol.html">
|
|
|
|
<a href="../../developer/streaming/protocol.html">
|
|
|
|
|
|
The Streaming Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Streaming Server</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="8.1" data-path="../../nats_streaming/gettingstarted/changes.html">
|
|
|
|
<a href="../../nats_streaming/gettingstarted/changes.html">
|
|
|
|
|
|
Important Changes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.2" data-path="../../nats_streaming/gettingstarted/install.html">
|
|
|
|
<a href="../../nats_streaming/gettingstarted/install.html">
|
|
|
|
|
|
Installing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.3" data-path="../../nats_streaming/gettingstarted/run.html">
|
|
|
|
<a href="../../nats_streaming/gettingstarted/run.html">
|
|
|
|
|
|
Running
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4" data-path="../../nats_streaming/configuring/configuring.html">
|
|
|
|
<a href="../../nats_streaming/configuring/configuring.html">
|
|
|
|
|
|
Configuring
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.1" data-path="../../nats_streaming/configuring/cmdline.html">
|
|
|
|
<a href="../../nats_streaming/configuring/cmdline.html">
|
|
|
|
|
|
Command line arguments
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.2" data-path="../../nats_streaming/configuring/cfgfile.html">
|
|
|
|
<a href="../../nats_streaming/configuring/cfgfile.html">
|
|
|
|
|
|
Configuration file
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.3" data-path="../../nats_streaming/configuring/storelimits.html">
|
|
|
|
<a href="../../nats_streaming/configuring/storelimits.html">
|
|
|
|
|
|
Store Limits
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.3.1" data-path="../../nats_streaming/configuring/storelimits.html">
|
|
|
|
<a href="../../nats_streaming/configuring/storelimits.html#limits-inheritance">
|
|
|
|
|
|
Limits inheritance
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4" data-path="../../nats_streaming/configuring/persistence.html">
|
|
|
|
<a href="../../nats_streaming/configuring/persistence.html">
|
|
|
|
|
|
Persistence
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.4.1" data-path="../../nats_streaming/configuring/filestore.html">
|
|
|
|
<a href="../../nats_streaming/configuring/filestore.html">
|
|
|
|
|
|
File Store
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.4.1.1" data-path="../../nats_streaming/configuring/filestore.html">
|
|
|
|
<a href="../../nats_streaming/configuring/filestore.html#options">
|
|
|
|
|
|
Options
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4.1.2" data-path="../../nats_streaming/configuring/filestore.html">
|
|
|
|
<a href="../../nats_streaming/configuring/filestore.html#recovery-errors">
|
|
|
|
|
|
Recovery Errors
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4.2" data-path="../../nats_streaming/configuring/sqlstore.html">
|
|
|
|
<a href="../../nats_streaming/configuring/sqlstore.html">
|
|
|
|
|
|
SQL Store
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.4.2.1" data-path="../../nats_streaming/configuring/sqlstore.html">
|
|
|
|
<a href="../../nats_streaming/configuring/sqlstore.html#read-and-write-timeouts">
|
|
|
|
|
|
Read and Write Timeouts
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.4.2.2" data-path="../../nats_streaming/configuring/sqlstore.html">
|
|
|
|
<a href="../../nats_streaming/configuring/sqlstore.html#options">
|
|
|
|
|
|
Options
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.5" data-path="../../nats_streaming/configuring/tls.html">
|
|
|
|
<a href="../../nats_streaming/configuring/tls.html">
|
|
|
|
|
|
Securing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="8.4.5.1" data-path="../../nats_streaming/configuring/tls.html">
|
|
|
|
<a href="../../nats_streaming/configuring/tls.html#authenticating-users">
|
|
|
|
|
|
Authenticating Users
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.4.5.2" data-path="../../nats_streaming/configuring/tls.html">
|
|
|
|
<a href="../../nats_streaming/configuring/tls.html#using-tls">
|
|
|
|
|
|
TLS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.5" data-path="../../nats_streaming/gettingstarted/process-signaling.html">
|
|
|
|
<a href="../../nats_streaming/gettingstarted/process-signaling.html">
|
|
|
|
|
|
Process Signaling
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.6" data-path="../../nats_streaming/gettingstarted/windows-service.html">
|
|
|
|
<a href="../../nats_streaming/gettingstarted/windows-service.html">
|
|
|
|
|
|
Windows Service
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.7" data-path="../../developer/streaming/embedding.html">
|
|
|
|
<a href="../../developer/streaming/embedding.html">
|
|
|
|
|
|
Embedding NATS Streaming Server
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="8.8" data-path="../../nats_streaming/swarm.html">
|
|
|
|
<a href="../../nats_streaming/swarm.html">
|
|
|
|
|
|
Docker Swarm
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">NATS Protocol</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="9.1" data-path="../../nats_protocol/nats-protocol-demo.html">
|
|
|
|
<a href="../../nats_protocol/nats-protocol-demo.html">
|
|
|
|
|
|
Protocol Demo
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="9.2" data-path="../../nats_protocol/nats-protocol.html">
|
|
|
|
<a href="../../nats_protocol/nats-protocol.html">
|
|
|
|
|
|
Client Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="9.2.1" data-path="../../nats_protocol/nats-client-dev.html">
|
|
|
|
<a href="../../nats_protocol/nats-client-dev.html">
|
|
|
|
|
|
Developing a Client
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="9.3" data-path="../../nats_protocol/nats-server-protocol.html">
|
|
|
|
<a href="../../nats_protocol/nats-server-protocol.html">
|
|
|
|
|
|
NATS Cluster Protocol
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="divider"></li>
|
|
|
|
<li>
|
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|
Published with GitBook
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="book-body">
|
|
|
|
<div class="body-inner">
|
|
|
|
|
|
|
|
<div class="book-header" role="navigation">
|
|
|
|
|
|
<!-- Title -->
|
|
<h1>
|
|
<i class="fa fa-circle-o-notch fa-spin"></i>
|
|
<a href="../.." >Basics</a>
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="page-wrapper" tabindex="-1" role="main">
|
|
<div class="page-inner">
|
|
|
|
<div id="book-search-results">
|
|
<div class="search-noresults">
|
|
|
|
<section class="normal markdown-section">
|
|
|
|
<h2 id="configuration"><a name="configuration" class="plugin-anchor" href="#configuration"><i class="fa fa-link" aria-hidden="true"></i></a>Configuration</h2>
|
|
<p>Basic configuration revolves around 4 settings:</p>
|
|
<ul>
|
|
<li>The store to read JWTs from</li>
|
|
<li>The HTTP/S configuration</li>
|
|
<li>NATS (for cases where updates are enabled)</li>
|
|
<li>Logging</li>
|
|
</ul>
|
|
<p>For complete information on please refer to the project's <a href="https://github.com/nats-io/nats-account-server" target="_blank">Github</a>.</p>
|
|
<h3 id="nsc-configuration"><a name="nsc-configuration" class="plugin-anchor" href="#nsc-configuration"><i class="fa fa-link" aria-hidden="true"></i></a><code>nsc</code> Configuration</h3>
|
|
<p>For a basic usage of the server you can specify the <code>-nsc</code> flag, and specify the path to an operator in your environment.</p>
|
|
<blockquote>
|
|
<p>If you have not yet created an operator or accounts, you'll need to do so before continuing. See <a href="../nsc/">NSC</a></p>
|
|
</blockquote>
|
|
<p>You can easily locate the path by running <code>nsc env</code> to print your <code>nsc</code> settings:</p>
|
|
<pre class="language-"><code class="lang-text">> nsc env
|
|
╭──────────────────────────────────────────╮
|
|
│ NSC Environment │
|
|
├──────────────────┬─────┬─────────────────┤
|
|
│ Setting │ Set │ Effective Value │
|
|
├──────────────────┼─────┼─────────────────┤
|
|
│ $NKEYS_PATH │ No │ ~/.nkeys │
|
|
│ $NSC_HOME │ No │ ~/.nsc │
|
|
│ Config │ │ ~/.nsc/nsc.json │
|
|
├──────────────────┼─────┼─────────────────┤
|
|
│ Stores Dir │ │ ~/.nsc/nats │
|
|
│ Default Operator │ │ Test │
|
|
│ Default Account │ │ TestAccount │
|
|
│ Default Cluster │ │ │
|
|
╰──────────────────┴─────┴─────────────────╯
|
|
</code></pre>
|
|
<p>The path you are interested in the <code>Stores Dir</code>. This is the root of all operators, you'll also need the name of your operator. If your current operator is not listed, you can list all your available operators by doing:</p>
|
|
<pre class="language-"><code class="lang-text">> nsc list operators
|
|
</code></pre>
|
|
<p>To start the <code>nats-account-server</code> with the operator <code>Test</code>:</p>
|
|
<pre class="language-"><code class="lang-text">> nats-account-server -nsc ~/.nsc/nats/Test
|
|
2019/05/10 11:22:41.845148 [INF] starting NATS Account server, version 0.0-dev
|
|
2019/05/10 11:22:41.845241 [INF] server time is Fri May 10 11:22:41 CDT 2019
|
|
2019/05/10 11:22:41.845245 [INF] loading operator from /Users/synadia/.nsc/nats/Test/Test.jwt
|
|
2019/05/10 11:22:41.846367 [INF] creating a read-only store for the NSC folder at /Users/synadia/.nsc/nats/Test
|
|
2019/05/10 11:22:41.846459 [INF] NATS is not configured, server will not fire notifications on update
|
|
2019/05/10 11:22:41.855291 [INF] http listening on port 9090
|
|
2019/05/10 11:22:41.855301 [INF] nats-account-server is running
|
|
2019/05/10 11:22:41.855303 [INF] configure the nats-server with:
|
|
2019/05/10 11:22:41.855306 [INF] resolver: URL(http://localhost:9090/jwt/v1/accounts/)
|
|
</code></pre>
|
|
<p>By default the server will serve JWTs on the localhost at port 9090. The last line in the shown in the printout is important, that is the resolver URL you'll have to provide on your NATS server configuration. You'll also need the matching operator JWT which is on <code>~/.nsc/nats/Test/Test.jwt</code> if you are following the example above. On the server configuration you'll need to expand the <code>~</code> as necessary. Here's what my NATS server configuration looks like:</p>
|
|
<pre class="language-"><code class="lang-text">operator: /Users/synadia/.nsc/nats/Test/Test.jwt
|
|
resolver: URL(http://localhost:9090/jwt/v1/accounts/)
|
|
</code></pre>
|
|
<p>Note that servers you create with the <code>-nsc</code> option (or store option) are read-only. This means that the server will not accept POST requests to update the JWT store.</p>
|
|
<h3 id="directory-configuration"><a name="directory-configuration" class="plugin-anchor" href="#directory-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>Directory Configuration</h3>
|
|
<p>You can start a server using a plain directory. In this case you'll be responsible for adding any JWT that you want resolved. </p>
|
|
<blockquote>
|
|
<p>The server looks for account JWTs by using the public key of the account as the file name followed by the extension <code>.jwt</code>. The server will not introspect the JWTs, so if you don't name the files correctly, it will fail to find them or serve a JWT that doesn't match the requested account.</p>
|
|
</blockquote>
|
|
<pre class="language-"><code class="lang-text">> mkdir /tmp/jwts
|
|
nats-account-server -dir /tmp/jwts
|
|
2019/05/10 11:33:40.501305 [INF] starting NATS Account server, version 0.0-dev
|
|
2019/05/10 11:33:40.501383 [INF] server time is Fri May 10 11:33:40 CDT 2019
|
|
2019/05/10 11:33:40.501404 [INF] creating a store at /tmp/jwts
|
|
2019/05/10 11:33:40.501430 [INF] NATS is not configured, server will not fire notifications on update
|
|
2019/05/10 11:33:40.510273 [INF] http listening on port 9090
|
|
2019/05/10 11:33:40.510283 [INF] nats-account-server is running
|
|
2019/05/10 11:33:40.510285 [INF] configure the nats-server with:
|
|
2019/05/10 11:33:40.510291 [INF] resolver: URL(http://localhost:9090/jwt/v1/accounts/)
|
|
</code></pre>
|
|
<p>Configuration for the NATS server is the same as in the previous example:</p>
|
|
<pre class="language-"><code class="lang-text">operator: /Users/synadia/.nsc/nats/Test/Test.jwt
|
|
resolver: URL(http://localhost:9090/jwt/v1/accounts/)
|
|
</code></pre>
|
|
<h3 id="configuration-file"><a name="configuration-file" class="plugin-anchor" href="#configuration-file"><i class="fa fa-link" aria-hidden="true"></i></a>Configuration File</h3>
|
|
<p>While the <code>-nsc</code> and <code>-dir</code> store flags are sufficient for some very simple developer setups, any production or non-read-only server will require a configuration file.</p>
|
|
<p>Let's take a look at the configuration options:</p>
|
|
<h4 id="configuration-options"><a name="configuration-options" class="plugin-anchor" href="#configuration-options"><i class="fa fa-link" aria-hidden="true"></i></a>Configuration Options</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left"><code>http</code></td>
|
|
<td style="text-align:left">An <code>http</code> configuration block specifying HTTP options.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>logging</code></td>
|
|
<td style="text-align:left">A <code>logging</code> configuration block specifying server logging options.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>nats</code></td>
|
|
<td style="text-align:left">A <code>nats</code> configuration block specifying NATS connection information for the account server to push JWT changes to a NATS server.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>operatorjwtpath</code></td>
|
|
<td style="text-align:left">The path to an operator JWT. Required for non-read-only servers. Only JWTs signed by the operator (or one of it's signing keys) are accepted.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>store</code></td>
|
|
<td style="text-align:left">A <code>store</code> configuration block specifying store options.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>systemaccountjwtpath</code></td>
|
|
<td style="text-align:left">Path to an Account JWT that should be returned as the system account.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>primary</code></td>
|
|
<td style="text-align:left">URL for the primary, <code>protocol://host:port</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>replicationtimeout</code></td>
|
|
<td style="text-align:left">Timeout, in milliseconds, used by the replica when talking to the primary, defaults to <code>5000</code>.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4 id="store-configuration"><a name="store-configuration" class="plugin-anchor" href="#store-configuration"><i class="fa fa-link" aria-hidden="true"></i></a><code>store</code> Configuration</h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left"><code>dir</code></td>
|
|
<td style="text-align:left">Configures a directory as a store.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>nsc</code></td>
|
|
<td style="text-align:left">Configures an nsc read-only store. The value should be the path to an operator <em>directory</em>. Option is mutually exlusive with <code>dir</code>.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>readonly</code></td>
|
|
<td style="text-align:left">If <code>true</code>, the store will not accept POST requests. Note that to receive requests, the store must also have <code>operatorjwtpath</code> specified as a root option.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>shard</code></td>
|
|
<td style="text-align:left">If <code>true</code>, JWTs are sharded in the store directory.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="logging-options"><a name="logging-options" class="plugin-anchor" href="#logging-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>logging</code> Options</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left"><code>time</code></td>
|
|
<td style="text-align:left">If <code>true</code>, a timestamp is added to log messages.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>debug</code></td>
|
|
<td style="text-align:left">If <code>true</code>, debug messages are logged.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>trace</code></td>
|
|
<td style="text-align:left">If <code>true</code>, trace messages are logged.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>colors</code></td>
|
|
<td style="text-align:left">If <code>true</code>, messages are logged using ANSI color escape sequences.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>pid</code></td>
|
|
<td style="text-align:left">If <code>true</code>, the process id for the server is added to log messages.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="http-options"><a name="http-options" class="plugin-anchor" href="#http-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>http</code> Options</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left"><code>host</code></td>
|
|
<td style="text-align:left">Interface to listen for requests on.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>port</code></td>
|
|
<td style="text-align:left">Port to listen for requests on.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>readtimeout</code></td>
|
|
<td style="text-align:left">Max amount of time in milliseconds to wait for a http read operation to complete.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>writetimeout</code></td>
|
|
<td style="text-align:left">Max amount of time in milliseconds to wait for a http write operation to complete.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="nats-options"><a name="nats-options" class="plugin-anchor" href="#nats-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>nats</code> Options</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left"><code>servers</code></td>
|
|
<td style="text-align:left">List of NATS servers for the account server to use when connecting to a NATS server to publish updates.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>connecttimeout</code></td>
|
|
<td style="text-align:left">Max amount of time in milliseconds to wait for a NATS connection.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>reconnecttimewait</code></td>
|
|
<td style="text-align:left">Amount of time in milliseconds to between NATS server reconnect attempts.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>tls</code></td>
|
|
<td style="text-align:left">A <code>tls</code> configuration block.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>usercredentials</code></td>
|
|
<td style="text-align:left">A credentials <em>creds</em> file for connecting to the NATS server. Account must be a member of a system account.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="tls-options"><a name="tls-options" class="plugin-anchor" href="#tls-options"><i class="fa fa-link" aria-hidden="true"></i></a><code>tls</code> Options</h3>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th style="text-align:left">Option</th>
|
|
<th style="text-align:left">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td style="text-align:left"><code>root</code></td>
|
|
<td style="text-align:left">filepath to the CA certificate.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>cert</code></td>
|
|
<td style="text-align:left">filepath to the certificate.</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:left"><code>cert</code></td>
|
|
<td style="text-align:left">filepath to the certificate key.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
|
|
</section>
|
|
|
|
</div>
|
|
<div class="search-results">
|
|
<div class="has-results">
|
|
|
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|
<ul class="search-results-list"></ul>
|
|
|
|
</div>
|
|
<div class="no-results">
|
|
|
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a href="./" class="navigation navigation-prev " aria-label="Previous page: nats-account-server">
|
|
<i class="fa fa-angle-left"></i>
|
|
</a>
|
|
|
|
|
|
<a href="inspecting_jwts.html" class="navigation navigation-next " aria-label="Next page: Inspecting JWTs">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<script>
|
|
var gitbook = gitbook || [];
|
|
gitbook.push(function() {
|
|
gitbook.page.hasChanged({"page":{"title":"Basics","level":"5.4.1","depth":2,"next":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},"previous":{"title":"nats-account-server","level":"5.4","depth":1,"path":"nats_tools/nas/README.md","ref":"nats_tools/nas/README.md","articles":[{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/nas_conf.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-27T21:13:11.925Z"},"basePath":"../..","book":{"language":""}});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
<!-- Viz Support -->
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/viz.js"> </script>
|
|
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/2.1.2/lite.render.js"> </script>
|
|
|
|
<!-- Site code -->
|
|
<script>
|
|
function flash(elem, text, speed) {
|
|
if (!elem) {
|
|
return;
|
|
}
|
|
var s = elem.style;
|
|
elem.textContent = text;
|
|
s.display = 'block';
|
|
s.opacity = 1;
|
|
(function fade() {
|
|
(s.opacity -= .1) < .1 ? s.display = "none" : setTimeout(fade, speed)
|
|
})();
|
|
}
|
|
|
|
function copyToClipboard(text, el) {
|
|
var copyTest = document.queryCommandSupported('copy');
|
|
var elOriginalText = el.getAttribute('data-original-title');
|
|
|
|
if (copyTest === true) {
|
|
var copyTextArea = document.createElement("textarea");
|
|
copyTextArea.value = text;
|
|
document.body.appendChild(copyTextArea);
|
|
copyTextArea.select();
|
|
try {
|
|
var successful = document.execCommand('copy');
|
|
var msg = successful ? 'Copied!' : 'Whoops, not copied!';
|
|
var parent = el.parentNode.parentNode;
|
|
var msgElem = parent.querySelector(".copy-msg");
|
|
flash(msgElem, msg, 100);
|
|
} catch (err) {
|
|
console.log('Oops, unable to copy', err);
|
|
}
|
|
document.body.removeChild(copyTextArea);
|
|
el.setAttribute('data-original-title', elOriginalText);
|
|
} else {
|
|
// Fallback if browser doesn't support .execCommand('copy')
|
|
window.prompt("Copy to clipboard: Ctrl+C or Command+C, Enter", text);
|
|
}
|
|
}
|
|
|
|
function processGraphVizSections(elements) {
|
|
var elements = document.querySelectorAll("[data-viz]");
|
|
var viz = new Viz();
|
|
Array.prototype.forEach.call(elements, function (x) {
|
|
var engine = x.getAttribute("data-viz");
|
|
var image = viz.renderImageElement(x.innerText, {
|
|
format: "png",
|
|
engine: engine
|
|
}).then(function (element) {
|
|
x.parentNode.insertBefore(element, x);
|
|
});
|
|
});
|
|
|
|
|
|
};
|
|
|
|
function updateLanguageParameter(value) {
|
|
const param = "lang";
|
|
|
|
if (window.location.href.indexOf("?") >= 0) {
|
|
const regExp = new RegExp(param + "(.+?)(&|$)", "g");
|
|
const newUrl = window.location.href.replace(regExp, param + "=" + encodeURIComponent(value) + "$2");
|
|
window.history.pushState("", "", newUrl);
|
|
} else {
|
|
const newUrl = window.location.href + "?" + param + "=" + encodeURIComponent(value);
|
|
window.history.pushState("", "", newUrl);
|
|
}
|
|
}
|
|
|
|
function getLanguageParameter() {
|
|
var match = RegExp('[?&]lang=([^&]*)').exec(window.location.search);
|
|
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
|
|
}
|
|
|
|
function docReady() {
|
|
window.gitbook.events.bind("page.change", function () {
|
|
pageChanged();
|
|
});
|
|
|
|
var searchInput = document.querySelector('#book-search-input input');
|
|
|
|
if (searchInput) {
|
|
searchInput.addEventListener('keyup', function(event) {
|
|
if (event.keyCode === 13) {
|
|
event.target.blur();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function pageChanged() {
|
|
var logos = document.querySelectorAll(".nats");
|
|
if (logos && logos.length == 0) {
|
|
gitbook.toolbar.createButton({
|
|
icon: 'nats',
|
|
label: 'NATS Home Page',
|
|
position: 'right',
|
|
onClick: function () {
|
|
var win = window.open("https://nats.io/", '_blank');
|
|
win.focus();
|
|
}
|
|
});
|
|
}
|
|
|
|
document.querySelectorAll('.js-copy').forEach(elem => {
|
|
elem.addEventListener("click", function () {
|
|
var el = this;
|
|
var parent = this.parentNode.parentNode;
|
|
var code = parent.querySelector('code');
|
|
var text = code.textContent || code.innerText;
|
|
copyToClipboard(text, el);
|
|
})
|
|
});
|
|
|
|
document.querySelectorAll('.api-lang').forEach(elem => {
|
|
elem.addEventListener("click", function () {
|
|
var curLang = sessionStorage.getItem('nats-api-language');
|
|
var lang = this.getAttribute('data-language');
|
|
|
|
// Stop the infinite loop
|
|
if (curLang == lang) {
|
|
return;
|
|
}
|
|
|
|
sessionStorage.setItem('nats-api-language', lang); // So we only do this 1x
|
|
|
|
updateLanguageParameter(lang)
|
|
|
|
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
|
elem.click();
|
|
});
|
|
})
|
|
});
|
|
|
|
if (sessionStorage) {
|
|
var curLang = sessionStorage.getItem('nats-api-language');
|
|
var queryLang = getLanguageParameter();
|
|
var lang = curLang;
|
|
|
|
if (queryLang) { // query takes precedent
|
|
lang = queryLang
|
|
}
|
|
|
|
if (lang) {
|
|
document.querySelectorAll('.api-lang[data-language=' + lang + ']').forEach(elem => {
|
|
elem.click();
|
|
});
|
|
}
|
|
}
|
|
|
|
setTimeout(function () {
|
|
processGraphVizSections();
|
|
}, 1);
|
|
}
|
|
|
|
|
|
if (document.readyState != 'loading') docReady();
|
|
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', docReady);
|
|
else document.attachEvent('onreadystatechange', function () {
|
|
if (document.readyState == 'complete') docReady();
|
|
});
|
|
</script>
|
|
|
|
<!-- Github Buttons -->
|
|
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
|
|
|
<!-- Styles -->
|
|
<style>
|
|
.nats {
|
|
display: inline-block;
|
|
width: 16px;
|
|
height: 16px;
|
|
background: url(https://nats.io/img/nats-icon-color.svg);
|
|
background-size: 16px 16px;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
div.graphviz {
|
|
background: transparent;
|
|
border: 0;
|
|
padding-top: 15px;
|
|
padding-right: 15px;
|
|
padding-bottom: 25px;
|
|
padding-left: 15px;
|
|
text-align: center;
|
|
}
|
|
|
|
code[data-viz] {
|
|
display: none;
|
|
}
|
|
|
|
.tab-wrap {
|
|
transition: 0.3s box-shadow ease;
|
|
border-radius: 6px;
|
|
max-width: 100%;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
position: relative;
|
|
list-style: none;
|
|
background-color: #fff;
|
|
margin: 20px 0;
|
|
/* box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);*/
|
|
}
|
|
|
|
.tab-wrap:hover {
|
|
box-shadow: 0 12px 23px rgba(0, 0, 0, 0.23), 0 10px 10px rgba(0, 0, 0, 0.19);
|
|
}
|
|
|
|
.tab {
|
|
display: none;
|
|
}
|
|
|
|
/* Using scss these would be generated, we have to manually create enough for all tabs, start with 8 */
|
|
.tab:checked:nth-of-type(1)~.tab__content:nth-of-type(1) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(2)~.tab__content:nth-of-type(2) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(3)~.tab__content:nth-of-type(3) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(4)~.tab__content:nth-of-type(4) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(5)~.tab__content:nth-of-type(5) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(6)~.tab__content:nth-of-type(6) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(7)~.tab__content:nth-of-type(7) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:checked:nth-of-type(8)~.tab__content:nth-of-type(8) {
|
|
opacity: 1;
|
|
transition: 0.5s opacity ease-in, 0.8s -webkit-transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease;
|
|
transition: 0.5s opacity ease-in, 0.8s transform ease, 0.8s -webkit-transform ease;
|
|
position: relative;
|
|
top: 0;
|
|
z-index: 100;
|
|
-webkit-transform: translateY(0px);
|
|
transform: translateY(0px);
|
|
text-shadow: 0 0 0;
|
|
}
|
|
|
|
.tab:first-of-type:not(:last-of-type)+label {
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
}
|
|
|
|
.tab:not(:first-of-type):not(:last-of-type)+label {
|
|
border-radius: 0;
|
|
}
|
|
|
|
.tab:last-of-type:not(:first-of-type)+label {
|
|
border-top-left-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
}
|
|
|
|
.tab:checked+label {
|
|
background-color: #fff;
|
|
box-shadow: 0 -1px 0 #fff inset;
|
|
cursor: default;
|
|
font-weight: bold;
|
|
border: 1px solid #ddd;
|
|
border-bottom-color: transparent;
|
|
}
|
|
|
|
.tab:checked+label:hover {
|
|
box-shadow: 0 -1px 0 #fff inset;
|
|
background-color: #fff;
|
|
}
|
|
|
|
.tab+label {
|
|
box-shadow: 0 -1px 0 #eee inset;
|
|
border-radius: 6px 6px 0 0;
|
|
cursor: pointer;
|
|
display: block;
|
|
text-decoration: none;
|
|
color: #27aae1;
|
|
flex-grow: 3;
|
|
text-align: center;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
text-align: center;
|
|
transition: 0.3s background-color ease, 0.3s box-shadow ease;
|
|
height: 50px;
|
|
box-sizing: border-box;
|
|
padding: 15px;
|
|
}
|
|
|
|
.tab+label:hover {
|
|
background-color: #f9f9f9;
|
|
box-shadow: 0 1px 0 #f4f4f4 inset;
|
|
}
|
|
|
|
.tab__content {
|
|
padding: 2px 2px;
|
|
background-color: transparent;
|
|
position: absolute;
|
|
width: 100%;
|
|
z-index: -1;
|
|
opacity: 0;
|
|
left: 0;
|
|
-webkit-transform: translateY(-3px);
|
|
transform: translateY(-3px);
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.tab__content pre {
|
|
margin-bottom: 0px !important;
|
|
}
|
|
|
|
.toolbar-icons {
|
|
display: inline-block;
|
|
position: relative;
|
|
padding-left: 4px;
|
|
}
|
|
|
|
a.toolbar-icons {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.toolbar-icons .mdi {
|
|
color: #4183c4;
|
|
}
|
|
|
|
.copy-msg {
|
|
color: #4183c4;
|
|
}
|
|
|
|
.pull-right {
|
|
float: right !important;
|
|
}
|
|
|
|
.pull-left {
|
|
float: left !important;
|
|
}
|
|
</style>
|
|
<!-- Global site tag (gtag.js) - Google Analytics -->
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-111730698-1"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'UA-111730698-1');
|
|
</script>
|
|
|
|
|
|
<script src="../../gitbook/gitbook.js"></script>
|
|
<script src="../../gitbook/theme.js"></script>
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-toggle-chapters/toggle.js"></script>
|
|
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
|
|
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-search/search-engine.js"></script>
|
|
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-search/search.js"></script>
|
|
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
|
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
|
|
|
|
|
|
|
<script src="../../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|