**Apache Airflow version**:

1.10.12

**Kubernetes version (if you are using kubernetes)** (use `kubectl version`):

n/a

**Environment**:

- **Cloud provider or hardware configuration**:
Amazon MWAA

- **OS** (e.g. from /etc/os-release):
Amazon Linux (latest)

- **Kernel** (e.g. `uname -a`):
n/a

- **Install tools**:
n/a

**What happened**:

If an unreachable secrets.backend is specified in airflow.cfg the web server crashes

**What you expected to happen**:

An invalid secrets backend should be ignored with a warning, and the system should default back to the metadatabase secrets

**How to reproduce it**:

In an environment without access to AWS Secrets Manager, add the following to your airflow.cfg:

```
[secrets]
backend = airflow.contrib.secrets.aws_secrets_manager.SecretsManagerBackend
```
**or** an environment without access to SSM specifiy:

```
[secrets]
backend = airflow.contrib.secrets.aws_systems_manager.SystemsManagerParameterStoreBackend
```

Reference: https://airflow.apache.org/docs/apache-airflow/1.10.12/howto/use-alternative-secrets-backend.html#aws-ssm-parameter-store-secrets-backend
airflow/configuration.py
"""
        Remove an option if it exists in config from a file or
        default config. If both of config have the same option, this removes
        the option in both configs unless remove_default=False.
        """
        if super().has_option(section, option):
            super().remove_option(section, option)
        if self.airflow_defaults.has_option(section, option) and remove_default:
            self.airflow_defaults.remove_option(section, option)
    def getsection(self, section: str) -> Optional[Dict[str, Union[str, int, float, bool]]]:
        """
        Returns the section as a dict. Values are converted to int, float, bool
        as required.
        :param section: section from the config
        :rtype: dict
        """
        if not self.has_section(section) and not self.airflow_defaults.has_section(section):
            return None
        if self.airflow_defaults.has_section(section):
            _section = OrderedDict(self.airflow_defaults.items(section))
        else:
            _section = OrderedDict()
        if self.has_section(section):
            _section.update(OrderedDict(self.items(section)))
        section_prefix = self._env_var_name(section, '')
        for env_var in sorted(os.environ.keys()):
            if env_var.startswith(section_prefix):