**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/models/connection.py
"""Return connection in URI format"""
        uri = f"{str(self.conn_type).lower().replace('_', '-')}://"
        authority_block = ''
        if self.login is not None:
            authority_block += quote(self.login, safe='')
        if self.password is not None:
            authority_block += ':' + quote(self.password, safe='')
        if authority_block > '':
            authority_block += '@'
            uri += authority_block
        host_block = ''
        if self.host:
            host_block += quote(self.host, safe='')
        if self.port:
            if host_block > '':
                host_block += f':{self.port}'
            else:
                host_block += f'@:{self.port}'
        if self.schema:
            host_block += f"/{quote(self.schema, safe='')}"
        uri += host_block
        if self.extra:
            try: