ligar porta ssl apache com porta diferente com a mesma porta openssl 443

8

Eu tenho um servidor (linux base) no qual instalei o dotcms e ele roda na porta 80 e o openssl está na porta 443. ambos são iniciados no processo de execução. Recentemente eu instalei o apache no meu servidor. e quando iniciei o apache, ele ficou preso porque a porta SSL padrão no apache é 443 e o apache é 80, os dois já estão em execução. Apenas para minha tarefa, iniciei apenas o apache sem ssl na porta 90. mas quero iniciar o ssl com o apache, obviamente, na porta diferente. É possível ligar o apache ssl com o mesmo openssl?

Eu preciso dos meus dotcms padrão no processo em execução. Não consigo parar em nenhum caso, só posso reiniciar o serviço dotcms se o apache iniciar necessário. mas eu preciso dotcms e apache para executar os dois paralelos.

veja a imagem nesse link (por causa de menos reputação, não consegui carregar a imagem) http://developers89.byethost14.com/images/ssl.png

Waqas Ahmed
fonte
1
Forneça informações como texto e não como imagem (legível, pesquisável, etc).
21916 Karl Richter

Respostas:

17

Sim, é possível ligar o Apache a uma porta diferente e ainda usar SSL.

Substitua as Listendiretivas na sua configuração do apache. A configuração deve conter linhas como

Listen 80
Listen 443

O Apache escutará as portas definidas com essas opções de configuração. Substitua-os e o Apache ouvirá em uma porta diferente.

No entanto, você ainda precisa informar ao Apache o que servir nas portas acima. Suponha que você queira que o Apache comece a escutar na porta 8080 (simples) e 4433 (ssl). Em seguida, você precisa substituir as diretrizes de escuta para

Listen 8080
Listen 4433

Depois disso, defina dois VirtualHosts nessas portas como esta:

NameVirtualHost 0.0.0.0:8080
NameVirtualHost 0.0.0.0:4433

<VirtualHost 0.0.0.0:8080>
    ServerName the.server.name
    ServerAlias *
    DocumentRoot /var/www/plain
</VirtualHost>

<VirtualHost 0.0.0.0:4433>
    ServerName the.server.name
    ServerAlias *
    DocumentRoot /var/www/ssl

    SSLEngine On
    SSLCertificateFile /the/certificate/file
    SSLCertificateKeyFile /the/key/file
</VirtualHost>

Se você não tiver mais nenhuma definição do VirtualHost, não precisará incluir a ServerAliasdiretiva (ou a diretiva ServerName).

Se você reiniciar o Apache, ele escutará no 8080 conexões não criptografadas e na porta 4433 para SSL. Certifique-se de não ter nenhuma definição antiga do VirtualHost que contenha o número da porta incorreto.

Lacek
fonte
Graças, a porta está ligada, mas quando eu tento mydomain.com:4433 dá erro "erro de conexão SSL"Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.
Waqas Ahmed
quando tento ativar o módulo ssl por este comando no linux a2enmod ssl. dá erro: * Restarting web server apache2 ... waiting (98)Address already in use: make_sock: could not bind to address [::]:4433e quando eu desativar esse módulo e reinicie o apache porta 4433 está em execução e enfrentando erro em destaque na comentário acima
Waqas Ahmed
Pare o servidor da web apache e verifique se nenhuma instância do Apache permanece em execução. Verifique se as portas estão abertas com o comando "netstat -napt | grep 4433" (não deve haver saída). Em seguida, execute a2enmod para ativar o módulo SSL. Além disso, verifique se as diretivas "Listen" aparecem nos arquivos de configuração apenas uma vez (por exemplo, a segunda diretiva "Listen 4433" resultará em erro).
Lacek
Com o Apache 2.4.10 eu obtenhoInvalid ServerName "*" use ServerAlias to set multiple server names.
Ortomala Lokni
Como atualizei a resposta, a configuração também funcionará com o Apache 2.4. Obrigado por apontar isso.
Lacek 27/02