[[_ssl_modes]]

= Configuring SSL for a realm

Each realm has an associated SSL Mode, which defines the SSL/HTTPS requirements for interacting with the realm.
Browsers and applications that interact with the realm honor the SSL/HTTPS requirements defined by the SSL Mode or they cannot interact with the server.

WARNING:  {project_name} generates a self-signed certificate the first time it runs.  Please note that self-signed certificates are not secure, and should only be used for testing purposes.  It is highly recommended that you install a CA-signed certificate on the {project_name} server itself or on a reverse proxy in front of the {project_name} server.  See the link:{installguide_link}[{installguide_name}].

.Procedure 
. Click *Realm Settings* in the menu.

. Click the *Login* tab.
+
.Login Tab
image:{project_images}/login-tab.png[Login Tab]

. Set *Require SSL* to one of the following SSL modes:

* external requests::
  Users can interact with {project_name} without SSL so long as they stick to private IP addresses such as `localhost`, `127.0.0.1`, `10.x.x.x`, `192.168.x.x`, and `172.16.x.x`.
  If you try to access {project_name} without SSL from a non-private IP address, you will get an error.

* none::
  {project_name} does not require SSL.  This choice applies only in development when you are experimenting and do not plan to support this deployment.
  
* all requests::
  {project_name} requires SSL for all IP addresses.
