Manage Apps & Components

Overview

Follow the steps in this topic to learn how to create and manage Apps and App Components.

Tip:
You can also use the NGINX Controller API to create Apps and Components. See the NGINX Controller API Reference for details.
 


Objectives

  • Create an App
  • Create and configure an App Component
  • View, edit, and delete Apps & Components

Before You Begin

Note:
If you do not have access to create an Environment, contact your administrator.
 


Create an App

To create an App:

  1. Open the NGINX Controller user interface and log in.
  2. Select the NGINX Controller menu icon, then select Services.
  3. On the Services menu, select Apps.
  4. On the Apps menu, select Create App.
  5. On the Create App page, provide a name for your App and select the environment that your App is associated with.
  6. Select Submit.

Create a Component

To create a Component:

  1. Open the NGINX Controller user interface and log in.

  2. Select the NGINX Controller menu icon, then select Services.

  3. On the Services menu, select Apps.

  4. On the Apps menu, in the Recent Apps section, select the name of the App that you want to add the Component to.

  5. On the Overview page for your App, select Create Component.

  6. Then, complete each of the configuration sections:

  7. When ready, review the API Spec and then select Submit to create the Component.

General Configuration

On the Create App Component Configuration page:

  1. Select the App Component Type:

    • Web
    • TCP/UDP
  2. Provide the name for your Component.

  3. (Optional) Provide a Display Name.

  4. (Optional) Provide a Description.

  5. (Optional) Add any desired tags.

  6. (Optional) Select a Gateway Ref or select Create Gateway Ref to create a new Gateway.

  7. Select Next.

URIs

A Component definition must contain one or more URIs.

Web Component URIs can be either of the following:

  • a complete URI that follows the format <schema://host>[:port][/path], or
  • a relative path that follows the format </path>[/...].

Relative paths inherit the host URI configured for the Gateway associated with the Component. The host and relative path(s) defined for a Component take precedence over the host defined in the associated Gateway.

Example Web URI definitions:

  • http://www.f5.com:8080/sales
  • http://*.f5.com:5050/test
  • /images
  • /*.jpg
  • /locations/us/wa*

TCP/UDP URIs must be a complete URI that follows the format <tcp|udp|tcp+tls://*|IP:port|portRange>. TCP+TLS URIs can include TLS information.

Example TCP/UDP URI definitions:

  • tcp://192.168.1.1:12345
  • tcp+tls://192.168.1.1:12346
  • tcp://192.168.1.1:12345-12350
  • tcp://*:12345
  • udp://192.168.1.1:12345
  • udp://*:12345

On the Create App Component URIs page:

  1. Define the URIs:

    • Select Add URI.

    • In the URI box, type the URI for the Component.

    • (Optional) Select a Match Method (applicable only to Web Components).

    • (Optional) Select Customize for this URI to add custom TLS Settings.

      Note:
      TLS Settings can be inherited from the Gateway, or customized at the Component level. Enable this option if you want the Component to use a different cert than that used by the Gateway.
  2. (Optional) Define the Shared TLS Settings.

    • To use a cert that is already associated with the Gateway, select it from the list.
    • To add a new shared cert, select Create New.
  3. Select Next.

Workload Groups

On the Create App Component Workload Groups page:

  1. Provide a Workload Group Name.

  2. (Optional) Select a Location.

    The default Location is “Unspecified”. This value is applied automatically to “bring your own” (BYO) NGINX Plus instances that were not deployed by NGINX Controller.

    See Also:
    Refer to the Manage Locations topic for more information.
  3. Define the backend workload URIs.

  4. (Optional) Define the DNS Server.

  5. (Optional) Select the Load Balancing Method. The default value is “Round Robin”.

    See Also:
    Refer to the NGINX Plus Admin Guide for more information about the available options.
  6. (Optional) Select the Session Persistence Type (applicable only to Web Components).

  7. (Optional) Select the Desired Proxy Settings (applicable only to Web Components).

    Tip:
    Hover your pointer over the info icon for each setting to learn about the expected values and requirements.
  8. Select Next.

Ingress

On the Create App Component Ingress page:

Note:
The following settings are applicable only to Web components.
  1. (Optional) Select the supported HTTP methods.

  2. (Optional) Set the desired Client Max Body Size.

    See Also:
    Refer to the NGINX module docs for more information about this option.
  3. Select Next.

Backend

On the Create App Component Backend page:

Note:
The following settings are applicable only to Web components.
  1. (Optional) Enable NTLM authentication to allow proxying requests with NT LAN Manager (NTLM) Authentication.

  2. (Optional) Specify the persistent state.

  3. (Optional) Set the HTTP protocol version for proxying.

  4. (Optional) Specify the Keep Alive settings:

    • Connections: Set the maximum number of idle keepalive connections to upstream servers that are preserved in the cache of each worker process. When this number is exceeded, the least recently used connections are closed.
    • Requests per Connection: Set the maximum number of requests that can be served through one keepalive connection. After the maximum number of requests is made, the connection is closed.
    • Idle Timeout box: Set a timeout during which an idle keepalive connection to an upstream server will stay open.
  5. Select Next.

Monitoring

On the Create App Component Monitoring page:

  1. (Optional) Enable Health Monitoring and define the desired Monitoring Request and Response. Health Monitoring is disabled by default.

  2. (Optional) Specify the URI to use in health check requests (applicable only to Web Components). The default is /. For TCP/UDP Components, specify the Send string.

  3. (Optional) Specify the port to use when connecting to a server to perform a health check. The server port is used by default.

  4. (Optional) Set the interval to wait between two consecutive health checks. The default is 5 seconds.

  5. (Optional) Specify the number of consecutive passed health checks that must occur for a server to be considered healthy. The default is 1.

  6. (Optional) Specify the number of consecutive failed health checks that must occur for a server to be considered unhealthy. The default is 1.

  7. (Optional) Specify the default state for the server. The default state is HEALTHY.

  8. (Optional) Specify the starting HTTP status code to match against (applicable only to Web components).

  9. (Optional) Specify the ending HTTP status code to match against (applicable only to Web components).

  10. (Optional) Select whether a response should pass in order for the health check to pass (applicable only to Web components). By default, the response should have status code 2xx or 3xx.

  11. Select Next.

    See Also:
    Refer to the NGINX module docs for more information about these options.

Security

On the Create App Component Security page:

Note:
The following settings are applicable only to Web components.
  1. (Optional) Select Enable Web Application Firewall (WAF) to watch for or block suspicious requests or attacks.
  2. (Optional) Select Monitor Only to allow traffic to pass without being rejected. Security events are still generated and metrics are still collected. Refer to About App Security Analytics for more information.
  3. (Optional) the signature(s) that you want the WAF to ignore. You can specify multiple signatures as a comma-separated list.
  4. Select Next.
See Also:
Refer to the Secure Your Apps topics to learn more about WAF and the default protections provided by NGINX App Protect.

Errors and Logs

On the Create App Component Logs page:

  1. (Optional) Select the logs to enable:

    • Error Log
    • Access Log
  2. (Optional) Specify the log format to use.

  3. Select Next.

    See Also:
    Refer to the NGINX docs for more information about these options.

Programmability

On the Create App Component Programmability page:

Note:
The following settings are applicable only to Web components.
  1. (Optional) Select Add URI Redirects and define the desired redirect condition(s).

  2. (Optional) Select Add URI Rewrite and define the desired rewrite pattern(s).

  3. (Optional) Select Add Request Header Modification and define how to modify the request header.

  4. (Optional) Select Add Response Header Modification and define how to modify the response header.

  5. Select Next.

    See Also:
    Refer to the NGINX module docs for more information about these options.

     


Edit or Delete Apps and Components

To view, edit, and delete Apps:

  1. Open the NGINX Controller user interface and log in.
  2. Select the NGINX Controller menu icon > Services > Apps.
  3. On the Apps menu, select Overview. The Apps Overview page is displayed and shows a list of your Apps.
  4. To view the details for an App, including metrics data and components, select the App name in the list of Apps.
  5. To edit the App, select Edit Config on the Quick Actions menu.
  6. To delete the App, select Delete Config on the Quick Actions menu.

To edit or delete a Component:

  1. Open the NGINX Controller user interface and log in.
  2. Select the NGINX Controller menu icon > Services > Apps.
  3. On the Apps menu, select Overview. The Apps Overview page is displayed and shows a list of your Apps.
  4. Select the App that contains the Component that you want to modify. The App’s Overview page is displayed.
  5. In the Components pane of the App Overview page, select the Component that you want to modify.
  6. To edit the Component, select Edit Config on the Quick Actions menu.
  7. To delete the Component, select Delete Config on the Quick Actions menu.

This documentation applies to the following versions of NGINX Controller Documentation: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15 and 3.16.