Quando as diretivas SSL entram em vigor

Quando as diretivas SSL entram em vigor

Estou tentando aprender o básico da configuração do servidor Apache e me perguntando sobre a validade das diretivas SSL entre diferentes escopos no Apache.

Essas diretivas;

SSLEngine on
SSLCertificateFile "/etc/apache2/ssl/apache.crt"
SSLCertificateKeyFile "/etc/apache2/ssl/apache.key"
SSLRequireSSL ...

Onde eles podem ser colocados? Somente na seção VirtualHost? Se eu colocar isso no escopo global, eles funcionarão?

Desculpe se esta pergunta está fora do contexto de alguma forma, ainda tenho alguns problemas abrangentes com o Apache :)

Responder1

Bem vindo ao mundo Apache! A primeira lição é aprender a ler a excelente documentação. Na documentação do Apache, toda diretiva possui umcontextoseção que indica onde nos arquivos de configuração do servidor a diretiva é legal. Ele pode ser encontrado logo abaixo das linhas Syntax:e Default:.

configuração do servidorIsto significa que a diretiva pode ser usada nos arquivos de configuração do servidor (por exemplo, httpd.conf), mas não em nenhum contêiner <VirtualHost>ou . <Directory>Não é permitido em .htaccessarquivos.

anfitrião virtualEste contexto significa que a diretiva pode aparecer dentro de <VirtualHost>contêineres nos arquivos de configuração do servidor.

diretórioUma diretiva marcada como válida neste contexto pode ser usada dentro de <Directory>, <Location>, <Files>, <If>e <Proxy> contêineres nos arquivos de configuração do servidor, sujeita às restrições descritas nas Seções de Configuração.

.htaccessSe uma diretiva for válida neste contexto, significa que ela pode aparecer dentro de arquivos .htaccess por diretório. Ele pode não ser processado, dependendo das substituições atualmente ativas.

ComSSLEngine,SSLCertificateFile,SSLCertificateKeyFileos contextos são configuração do servidor e host virtual. Isso significa que você pode especificá-los para todo o servidor e também substituir essa configuração padrão por arquivo <VirtualHost>.

OSSLRequireSSLDiretivapor outro lado, é legal em contextos de diretório e .htaccess. Isso significa que você pode, colocando isso em um diretório, especificar que conexões não-TLS não devem ser permitidas, mesmo se existirem hosts virtuais somente HTTP que, de outra forma, serviriam esse diretório.

Porém, hoje em dia você deve proteger tudo com TLS, tornando SSLRequireSSLdesnecessário. Redirecione todo HTTP para HTTPS e aplique-o por meio de umSegurança de transporte estrita HTTP(HSTS) política (RFC 6797).

informação relacionada