Skip to content

Commit e85ddd9

Browse files
authored
fix: Update cert instructions for NGINX One Console (#82)
* Update cert instructions for NGINX One Console
1 parent 5ecf2d4 commit e85ddd9

File tree

7 files changed

+177
-44
lines changed

7 files changed

+177
-44
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
docs:
3+
---
4+
5+
From this window, select the file of your choice. If you want to delete this
6+
file, Select **Edit Configuration** and select the Trash icon.
7+
8+
If this was a mistake, a revert button appears. But do not wait. As noted in
9+
one of the UI messages, "This action cannot be undone once you publish the
10+
configuration."
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
docs:
3+
---
4+
5+
With this option, You can incorporate [Managed certificates]({{< relref "/nginx-one/how-to/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}).
6+
In the **Choose Certificate** drop-down, select the managed certificate of your choice, and select **Add**. You can then:
7+
8+
1. Review details of the certificate. The next steps depend on whether the certificate is a CA bundle or a certificate / key pair.
9+
1. Enter the **Certificate File Path**, such as `/etc/ssl/nginx/mycert.crt` or `/etc/ssl/nginx/mycert.pem`.
10+
1. If you selected a key pair, you'll also enter the **Key File Path**, such as `/etc/ssl/nginx/mycert.key`.
11+
1. If you select **Add Item**, you can add the same certificate or key to another directory.
12+
1. Select **Add**. You should now be returned to the **Edit Configuration** window.
13+
You should now see the files you specified in the directory tree.
14+
1. Select **Next** and then **Save and Publish**.
15+
You may see a message that suggests publication is in progress.
16+
1. When publication is complete, you're taken back to the **Configuration** tab. You should see the updated configuration in the window.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
docs:
3+
---
4+
5+
First you can select the toggle to allow NGINX One Console to manaage the new certificate or bundle.
6+
7+
In the screen that appears, you can add a certificate name. If you don't add a name, NGINX One will add a name for you, based on the expiration date for the certificate.
8+
9+
You can add certificates in the following formats:
10+
11+
- **SSL Certificate and Key**
12+
- **CA Certificate Bundle**
13+
14+
In each case, you can upload files directly, or enter the content of the certificates in a text box. Once you upload these certificates, you may need to scroll down. You'll see:
15+
16+
- **Certificate Details**, with the Subject Name, start and end dates.
17+
- **Key Details**, with the encryption key size and algorithm, such as RSA
18+
19+
Select **Save and Continue**. You're taken to another screen where you can specify the locations for your files, which may be:
20+
21+
- **Certificate File Path**
22+
- Enter the full path to your certificate, such as
23+
- /etc/nginx/server.crt
24+
- /etc/nginx/server.pem
25+
26+
- **Key File Path**
27+
- Enter the full path to your certificate key, such as
28+
- /etc/nginx/server.key
29+
30+
With the **Add Item** button, you can add the file to additional directories.
31+
32+
When complete, select **Add** to include the certificate files that you've configured to desired directories.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
docs:
3+
---
4+
5+
This guide explains how to add files in the F5 NGINX One Console. While you can manage files in the CLI, the NGINX One Console supports editing in a UI that resembles an Integrated Development Environment (IDE), with recommendations.

content/nginx-one/how-to/certificates/manage-certificates.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,31 @@ weight: 100
1414

1515
This guide explains how you can manage SSL/TLS certificates with the F5 NGINX One Console. Valid certificates support encrypted connections between NGINX and your users.
1616

17+
You may have separate sets of SSL/TLS certificates, as described in the following table:
18+
19+
{{<bootstrap-table "table table-striped table-bordered">}}
20+
| Functionality | Typical file names | Notes |
21+
|-------------------|--------------------------------------------------------------------|----------------------------------------------------------------------------------------|
22+
| Website traffic | /etc/nginx/ssl/example.com.crt <br> /etc/nginx/ssl/example.com.key | Typically purchased from a Certificate Authority (CA) |
23+
| Repository access | /etc/ssl/nginx/nginx-repo.crt <br> /etc/ssl/nginx/nginx-repo.key | Supports access to repositories to download and install NGINX packages |
24+
| NGINX Licensing | /etc/ssl/nginx/server.crt <br> /etc/ssl/nginx/server.key | Supports access to repositories. Based on licenses downloaded from https://my.f5.com/ |
25+
{{</bootstrap-table>}}
26+
27+
Allowed directories depend on the [NGINX Agent]({{< relref "/nginx-one/getting-started/#install-nginx-agent" >}}). Look for the `/etc/nginx-agent/nginx-agent.conf` file.
28+
Find the `config_dirs` parameter in that file, as described in the NGINX Agent [Basic configuration](https://docs.nginx.com/nginx-agent/configuration/configuration-overview/#cli-flags--environment-variables).
29+
You may need to add a directory like `/etc/ssl` to that parameter.
30+
1731
From the NGINX One Console you can:
1832

1933
- Monitor all certificates configured for use by your connected NGINX Instances.
2034
- Ensure that your certificates are current and correct.
2135
- Manage your certificates from a central location. This can help you simplify operations and remotely update, rotate, and deploy those certificates.
2236

23-
For more information on how you can use these certificates to secure your servers, refer to the section on [NGINX SSL termination]({{< relref "/nginx/admin-guide/security-controls/terminating-ssl-http.md" >}}).
37+
You can manage the certificates for:
38+
39+
- [Unique instances]({{< relref "/nginx-one/how-to/nginx-configs/add-file.md#new-ssl-certificate-or-ca-bundle" >}})
40+
- For all instances that are members of a [Config Sync Group]({{< relref "/nginx-one/how-to/config-sync-groups/manage-config-sync-groups/#configuration-management" >}})
41+
2442

2543
{{< tip >}}
2644

@@ -33,23 +51,36 @@ If you are managing the certificate from NGINX One Console, we recommend that yo
3351
Before you add and manage certificates with the NGINX One Console make sure:
3452

3553
- You have access to the NGINX One Console
36-
- You have access through the F5 Distributed Cloud role, as described in the [Authentication]({{< relref "../../api/authentication.md" >}}) guide, to manage SSL/TLS certificates
54+
- You have access through the F5 Distributed Cloud role, as described in the [Authentication]({{< relref "/nginx-one/api/authentication.md" >}}) guide, to manage SSL/TLS certificates
3755
- You have the `f5xc-nginx-one-user` role for your account
3856
- Your SSL/TLS certificates and keys match
3957

4058
### SSL/TLS certificates and more
4159

4260
NGINX One Console supports certificates for access to repositories. You may need a copy of these files from your Certificate Authority (CA) to upload them to NGINX One Console:
4361

44-
- SSL Certificate (with a `.cer` or `.pem` file extension)
45-
- Privacy certificate (with a `.pem` file extension)
62+
- SSL Certificate
63+
- Example file extensions: .crt, .pem
64+
- Privacy certificate
65+
- Example file extensions: .key, .pem
4666

47-
The NGINX One Console allows you to upload these certificates as text and as files. You can also upload your own certificate files (with .crt and .key file extensions).
67+
The NGINX One Console allows you to upload these certificates as text and as files. You can also upload your own certificate files (with file extensions such as .crt and .key).
4868

4969
Make sure your certificates, keys, and pem files are encrypted to one of the following standards:
5070

5171
- RSA
52-
- ECDSA
72+
- ECC/ECDSA
73+
74+
In other words, any private key of this type should be supported, regardless of the curve types or hashing algorithm.
75+
76+
For exmaple, if you use ECDSA private keys in PEM format, the PEM headers should contain:
77+
78+
```
79+
-----BEGIN EC PRIVATE KEY-----
80+
<BASE64 ENCODED KEY>
81+
-----END EC PRIVATE KEY-----
82+
83+
```
5384

5485
If you use one of these keys, the US National Institute of Standards and Technology, in [Publication 800-57 Part 3 (PDF)](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57Pt3r1.pdf), recommends a key size of at least
5586
2048 bits. It also has recommnedations for ECDSA.
@@ -141,11 +172,11 @@ To delete a certificate, find the name in the **Certificates** screen. Find the
141172

142173
If that certificate is managed and is part of a Config Sync Group, that change affects all instances in that group.
143174

144-
{{< warning >}} Do not delete certificates that are being used by an instance or a Config Sync Group. Deleting such certificates leads to failure in affected NGINX deployments. {{< /warning >}}
175+
{{< warning >}} Be cautious if you want to delete certificates that are being used by an instance or a Config Sync Group. Deleting such certificates leads to failure in affected NGINX deployments. {{< /warning >}}
145176

146177
## Managed and unmanaged certificates
147178

148-
If you register an instance to NGINX One Console, as described in [Add your NGINX instances to NGINX One]({{< relref "../../getting-started.md#add-your-nginx-instances-to-nginx-one" >}}), and the associated SSL/TLS certificates:
179+
If you register an instance to NGINX One Console, as described in [Add your NGINX instances to NGINX One]({{< relref "/nginx-one/getting-started.md#add-your-nginx-instances-to-nginx-one" >}}), and the associated SSL/TLS certificates:
149180

150181
- Are used in their NGINX configuration
151182
- Do _not_ match an existing managed SSL certificate/CA bundle
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
docs:
3+
doctypes:
4+
- task
5+
tags:
6+
- docs
7+
title: Add a file to a Config Sync Group
8+
toc: true
9+
weight: 400
10+
---
11+
12+
13+
## Overview
14+
15+
{{< include "nginx-one/add-file/overview.md" >}}
16+
17+
## Before you start
18+
19+
Before you add files in your configuration, ensure:
20+
21+
- You have access to the NGINX One Console.
22+
- Config Sync Groups are properly registered with NGINX One Console
23+
24+
## Important considerations
25+
26+
This page applies when you want to add a file to a Config Sync Group. Any changes you make here apply to all [Instances]({{< relref "/nginx-one/glossary.md" >}}) of that Config Sync Group.
27+
28+
## Add a file
29+
30+
You can use the NGINX One Console to add a file to a specific Config Sync Group. To do so:
31+
32+
1. Select the Config Sync Group to manage.
33+
1. Select the **Configuration** tab.
34+
35+
{{< tip >}}
36+
37+
{{< include "nginx-one/add-file/edit-config-tip.md" >}}
38+
39+
{{< /tip >}}
40+
41+
1. Select **Edit Configuration**.
42+
1. In the **Edit Configuration** window that appears, select **Add File**.
43+
44+
You now have multiple options, described in the sections which follow.
45+
46+
### New Configuration File
47+
48+
Enter the name of the desired configuration file, such as `abc.conf` and select **Add**. The configuration file appears in the **Edit Configuration** window.
49+
50+
### New SSL Certificate or CA Bundle
51+
52+
{{< include "nginx-one/add-file/new-ssl-bundle.md" >}}
53+
54+
{{< tip >}}
55+
56+
Make sure to specify the path to your certificate in your NGINX configuration,
57+
with the `ssl_certificate` and `ssl_certificate_key` directives.
58+
59+
{{< /tip >}}
60+
61+
### Existing SSL Certificate or CA Bundle
62+
63+
{{< include "nginx-one/add-file/existing-ssl-bundle.md" >}}
64+
With this option, You can incorporate [Managed certificates]({{< relref "/nginx-one/how-to/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}).
65+
66+
## See also
67+
68+
- [Create and manage data plane keys]({{< relref "/nginx-one/how-to/data-plane-keys/create-manage-data-plane-keys.md" >}})
69+
- [View and edit NGINX configurations]({{< relref "/nginx-one/how-to/nginx-configs/view-edit-nginx-configurations.md" >}})
70+
- [Manage certificates]({{< relref "/nginx-one/how-to/certificates/manage-certificates.md" >}})

content/nginx-one/how-to/nginx-configs/add-file.md

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@ doctypes:
44
- task
55
tags:
66
- docs
7-
title: Add a file in a configuration
7+
title: Add a file to an instance
88
toc: true
99
weight: 400
1010
---
1111

1212

1313
## Overview
1414

15-
This guide explains how to add files in the F5 NGINX One Console. While you can manage files in the CLI, the NGINX One Console supports editing in
16-
a UI that resembles an Integrated Development Environment (IDE), with recommendations.
15+
{{< include "nginx-one/add-file/overview.md" >}}
1716

1817
## Before you start
1918

@@ -36,12 +35,7 @@ You can use the NGINX One Console to add a file to a specific instance. To do so
3635

3736
{{< tip >}}
3837

39-
From this window, select the file of your choice. If you want to delete this
40-
file, Select **Edit Configuration** and select the Trash icon.
41-
42-
If this was a mistake, a revert button appears. But do not wait. As noted in
43-
one of the UI messages, "This action cannot be undone once you publish the
44-
configuration."
38+
{{< include "nginx-one/add-file/edit-config-tip.md" >}}
4539

4640
{{< /tip >}}
4741

@@ -56,43 +50,18 @@ Enter the name of the desired configuration file, such as `abc.conf` and select
5650

5751
### New SSL Certificate or CA Bundle
5852

59-
First you can select the toggle to allow NGINX One Console to manaage the new certificate or bundle.
60-
61-
<!-- Candidate for an "include". Common content with add-file.md -->
62-
In the screen that appears, you can add a certificate name. If you don't add a name, NGINX One will add a name for you, based on the expiration date for the certificate.
63-
64-
You can add certificates in the following formats:
65-
66-
- **SSL Certificate and Key**
67-
- **CA Certificate Bundle**
68-
69-
In each case, you can upload files directly, or enter the content of the certificates in a text box. Once you upload these certificates, you'll see:
70-
71-
- **Certificate Details**, with the Subject Name, start and end dates.
72-
- **Key Details**, with the encryption key size and algorithm, such as RSA
53+
{{< include "nginx-one/add-file/new-ssl-bundle.md" >}}
7354

7455
{{< tip >}}
7556

7657
Make sure to specify the path to your certificate in your NGINX configuration,
7758
with the `ssl_certificate` and `ssl_certificate_key` directives.
7859

7960
{{< /tip >}}
80-
<!-- end potential "include" -->
8161

8262
### Existing SSL Certificate or CA Bundle
8363

84-
With this option, You can incorporate [Managed certificates]({{< relref "/nginx-one/how-to/certificates/manage-certificates.md#managed-and-unmanaged-certificates" >}}).
85-
In the **Choose Certificate** drop-down, select the managed certificate of your choice, and select **Add**. You can then:
86-
87-
1. Review details of the certificate. The next steps depend on whether the certificate is a CA bundle or a certificate / key pair.
88-
1. Enter the **Certificate File Path**, such as `/etc/ssl/nginx/mycert.crt`.
89-
1. If you selected a key pair, you'll also enter the **Key File Path**, such as `/etc/ssl/nginx/mycert.key`.
90-
1. Select **Add**. You should now be returned to the **Edit Configuration** window.
91-
You should now see the files you specified in the directory tree.
92-
1. Select **Next** and then **Save and Publish**.
93-
You may see a message that suggests publication is in progress.
94-
- If the instance is offline, **Save and Publish** does not work.
95-
1. When publication is complete, you're taken back to the **Configuration** tab. You should see the updated configuration in the window.
64+
{{< include "nginx-one/add-file/existing-ssl-bundle.md" >}}
9665

9766
## See also
9867

0 commit comments

Comments
 (0)