SSL - Apache e Node.js na mesma instância do Amazon EC2

3

Hospedei meu site em uma instância do EC2 usando o Apache. O SSL também foi configurado corretamente, executando em HTTPS, porta 443.

Atualmente, acabei de adicionar um aplicativo de bate-papo ao site usando o Node.js + socket.io. O servidor Node.js escuta na porta 3333.

Como posso executar os dois servidores (Apache e Node.js) na mesma instância com SSL protegido? O Amazon EC2 não me permite abrir outra porta para HTTPS. Só permite 443 para HTTPS.

    
por Danh Nguyen 19.08.2015 / 16:11

1 resposta

0

Você não precisa abrir uma porta adicional para nada. Você pode simplesmente configurar um novo host virtual com um novo ServerName usando a diretiva ProxyPass para direcionar os tráfegos SSL de entrada para o seu servidor Node.js local.

Por exemplo:

<VirtualHost *:443>
        ServerName nodeapp.com
        ServerAlias www.nodeapp.com app.nodeapp.com
        ServerAdmin webmas@localhost
        DocumentRoot /not/that/important

        SSLEngine on
        SSLCertificateFile      /path/to/cert
        SSLCertificateKeyFile   /path/to/key


        ProxyRequests off
        ProxyPass "/" "http://127.0.0.1:3333/"
        ProxyPassReverse "/" "http://127.0.0.1:3333/"

        ErrorLog ${APACHE_LOG_DIR}/nodeapp_error.log
        CustomLog ${APACHE_LOG_DIR}/nodeapp_access.log combined

</VirtualHost>
    
por 19.04.2018 / 14:07