Eu instalei o apache no RHEL 6. Tudo está funcionando bem. O que todas as alterações e configurações devem ser feitas para usar
https: // localhost: 443 / .
Se eu alterar o "Listen 80" para 443, está gerando um erro de conexão SSL
"Erro 107 (net :: ERR_SSL_PROTOCOL_ERROR): erro no protocolo SSL."
Etapa 1: use o OpenSSL para produzir as chaves usadas para proteger seu site. Essas chaves são usadas ao criptografar e descriptografar o tráfego para seu site seguro.
$ openssl genrsa -out mydomain.key 1024
Este comando criará uma chave privada de 1024 bits e a colocará no arquivo mydomain.key.
As três primeiras linhas não são necessárias. 1. NameVirtualHostestá obsoleto e será removido em futuras versões do Apache. Atualmente já é um no-op. 2. Listen 443pode causar problemas se o apache já estiver configurado para escutar na porta 443, o que em muitas distribuições Linux já é o caso. Adicione apenas se tiver certeza de que esta linha não está configurada em outro local.
lanoxx
3
Não mude Listen 80para 443dentro /etc/httpd/conf/httpd.conf. O SSL está configurado em /etc/httpd/conf.d/ssl.conf. No RHEL 6, o SSL está ativado e escutando por padrão com um certificado autoassinado.
Você pode acessar o site padrão usando SSL apenas navegando até https://localhost(não é necessário adicionar a porta ao final do URL).
Se você deseja encaminhar todas as solicitações HTTP para HTTPS (que é o que eu acredito que você está tentando obter), você pode adicionar um redirecionamento permanente ou usar o módulo Apache mod_rewrite.
A maneira mais fácil e segura é configurar um redirecionamento permanente. Habilite hosts virtuais nomeados e adicione uma Redirectdiretiva ao VirtualHost em /etc/httpd/conf/httpd.conf.
Usando mod_rewrite, você também cria um host virtual nomeado. Este não é o método recomendado, mas funcionará.
NameVirtualHost *:80
<VirtualHost *:80>
# Enable the Rewrite engine
RewriteEngine On
# Make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on
# This rewrites the URL and forwards to https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
Se você deseja desativar o SSL, comente essas linhas /etc/httpd/conf.d/ssl.confe reinicie o Apache.
Na verdade, se você adicionar o pacote mod_ssl ao RHEL6, ele criará um /etc/httpd/conf.d/ssl.conf, que carrega o módulo e configura <VirtualHost _default_:443>, com todos os parâmetros necessários, cada um com comentários. O mod_sslpacote não é instalado automaticamente se você instalou o httpdpacote.
Jsbillings
1
Gostaria de adicionar apenas uma coisa à sua reescrita: use em [R=301,L]vez de apenas [R,L], dessa maneira, a reescrita está usando a opção permanente dos códigos de status HTTP 3xx .
NameVirtualHost
está obsoleto e será removido em futuras versões do Apache. Atualmente já é um no-op. 2.Listen 443
pode causar problemas se o apache já estiver configurado para escutar na porta 443, o que em muitas distribuições Linux já é o caso. Adicione apenas se tiver certeza de que esta linha não está configurada em outro local.Não mude
Listen 80
para443
dentro/etc/httpd/conf/httpd.conf
. O SSL está configurado em/etc/httpd/conf.d/ssl.conf
. No RHEL 6, o SSL está ativado e escutando por padrão com um certificado autoassinado.Você pode acessar o site padrão usando SSL apenas navegando até
https://localhost
(não é necessário adicionar a porta ao final do URL).Se você deseja encaminhar todas as solicitações HTTP para HTTPS (que é o que eu acredito que você está tentando obter), você pode adicionar um redirecionamento permanente ou usar o módulo Apache
mod_rewrite
.A maneira mais fácil e segura é configurar um redirecionamento permanente. Habilite hosts virtuais nomeados e adicione uma
Redirect
diretiva ao VirtualHost em/etc/httpd/conf/httpd.conf
.Usando
mod_rewrite
, você também cria um host virtual nomeado. Este não é o método recomendado, mas funcionará.Se você deseja desativar o SSL, comente essas linhas
/etc/httpd/conf.d/ssl.conf
e reinicie o Apache.fonte
<VirtualHost _default_:443>
, com todos os parâmetros necessários, cada um com comentários. Omod_ssl
pacote não é instalado automaticamente se você instalou ohttpd
pacote.[R=301,L]
vez de apenas[R,L]
, dessa maneira, a reescrita está usando a opção permanente dos códigos de status HTTP 3xx .