diff --git a/docs/https-setup.md b/docs/https-setup.md index 7676f3f..725ba6f 100644 --- a/docs/https-setup.md +++ b/docs/https-setup.md @@ -97,6 +97,10 @@ Go to **Hosts → Proxy Hosts → Add Proxy Host** and fill in the **Details** t | Block Common Exploits | on | | **Websockets Support** | **on — this one is not optional** | +

+ Nginx Proxy Manager - Add Proxy Host, Details tab filled in +

+ > ### Websockets Support must be on > > mc-webui pushes new messages to open pages over a WebSocket. Without this switch, nginx @@ -133,6 +137,14 @@ router to this host. Then edit the proxy host → **SSL** tab → pick the certificate from the list → enable **Force SSL** and **HTTP/2 Support** → Save. +

+ Nginx Proxy Manager - SSL tab with Force SSL and HTTP/2 enabled +

+ +The screenshot shows the shortcut mentioned above: **Request a new Certificate** right on +the proxy host's SSL tab, which creates the certificate and attaches it in one step +instead of visiting the Certificates page first. Leave **HSTS Enabled** off for now. + That is it. The certificate is trusted by every browser and phone with no warnings, and NPM renews it automatically. @@ -177,6 +189,12 @@ Then, in NPM: NPM warns, correctly, that this is stored in plain text in its database and in a file on the server. Certbot needs to read it at every automatic renewal, which is why it is kept — and why scoping the token to one zone matters. + +

+ Nginx Proxy Manager - Use DNS Challenge with the Cloudflare credentials box +

+ + The token shown in that box is NPM's own placeholder, not a real one — replace it. 6. Leave *Propagation Seconds* empty to use the plugin's default. If issuing fails on a timeout, come back and try 60. 7. Save, and give it up to a minute. The certificate appears in the list with an expiry @@ -298,14 +316,34 @@ front of everything. on, satisfying *any one* condition is enough, which is not what you want when the password is the only condition. Leave **Pass Auth to Upstream** off too; mc-webui does not read the `Authorization` header, so there is nothing to pass on + +

+ Nginx Proxy Manager - Add Access List, Details tab +

+ 3. On **Authorizations**, add a username and password. Add more than one if several people use the instance — each gets their own + +

+ Nginx Proxy Manager - Add Access List, Authorizations tab +

+ 4. **Rules** is optional: it allows or denies whole IP addresses and ranges, on top of the password 5. Save, then go to **Hosts → Proxy Hosts**, open your host's **⋮ → Edit**, and set **Access List** to the one you just created. Save -The host's **ACCESS** column should now name your list instead of *Publicly Accessible*. +

+ Nginx Proxy Manager - Edit Proxy Host with the Access List selected +

+ +The host's **ACCESS** column should now name your list instead of *Publicly Accessible*, +and the Access Lists page counts the hosts using it: + +

+ Nginx Proxy Manager - Access Lists page showing one user and one proxy host +

+ Every path is covered — the interface, the API, and the websocket — so there is no way in that skips the prompt. diff --git a/images/npm-01-proxy-host-details.png b/images/npm-01-proxy-host-details.png new file mode 100644 index 0000000..8cec555 Binary files /dev/null and b/images/npm-01-proxy-host-details.png differ diff --git a/images/npm-02-ssl-letsencrypt.png b/images/npm-02-ssl-letsencrypt.png new file mode 100644 index 0000000..bcc05e3 Binary files /dev/null and b/images/npm-02-ssl-letsencrypt.png differ diff --git a/images/npm-03-ssl-dns-challenge.png b/images/npm-03-ssl-dns-challenge.png new file mode 100644 index 0000000..ca2c703 Binary files /dev/null and b/images/npm-03-ssl-dns-challenge.png differ diff --git a/images/npm-04-access-list-details.png b/images/npm-04-access-list-details.png new file mode 100644 index 0000000..0304871 Binary files /dev/null and b/images/npm-04-access-list-details.png differ diff --git a/images/npm-05-access-list-users.png b/images/npm-05-access-list-users.png new file mode 100644 index 0000000..52d6a8d Binary files /dev/null and b/images/npm-05-access-list-users.png differ diff --git a/images/npm-06-proxy-host-access-list.png b/images/npm-06-proxy-host-access-list.png new file mode 100644 index 0000000..0b8b1fa Binary files /dev/null and b/images/npm-06-proxy-host-access-list.png differ diff --git a/images/npm-07-access-lists-overview.png b/images/npm-07-access-lists-overview.png new file mode 100644 index 0000000..6543373 Binary files /dev/null and b/images/npm-07-access-lists-overview.png differ