**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
tests/core/test_configuration.py
assert conf.get("core", "percent") == "with%inside"
        assert conf.get("core", "PERCENT") == "with%inside"
        assert conf.get("CORE", "PERCENT") == "with%inside"
    def test_config_as_dict(self):
        """Test that getting config as dict works even if
        environment has non-legal env vars"""
        with unittest.mock.patch.dict('os.environ'):
            os.environ['AIRFLOW__VAR__broken'] = "not_ok"
            asdict = conf.as_dict(raw=True, display_sensitive=True)
        assert asdict.get('VAR') is None
        assert asdict['testsection']['testkey'] == 'testvalue'
    def test_env_var_config(self):
        opt = conf.get('testsection', 'testkey')
        assert opt == 'testvalue'
        opt = conf.get('testsection', 'testpercent')
        assert opt == 'with%percent'
        assert conf.has_option('testsection', 'testkey')
        with unittest.mock.patch.dict(
            'os.environ', AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__AIRFLOW__TESTSECTION__TESTKEY='nested'
        ):
            opt = conf.get('kubernetes_environment_variables', 'AIRFLOW__TESTSECTION__TESTKEY')
            assert opt == 'nested'
    @mock.patch.dict(
        'os.environ', AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__AIRFLOW__TESTSECTION__TESTKEY='nested'
    )
    @conf_vars({("core", "percent"): "with%%inside"})
    def test_conf_as_dict(self):