Eu tenho duas instâncias do AWS EC2, um servidor da Web e um servidor de aplicativos. Minha home page está no meu servidor web. Antes de usar o SSL, consegui acessar uma página no meu servidor de aplicativos da minha página inicial usando
http://homePage.com/app1/page.php
Meu proxy-host.conf tem o seguinte conteúdo
<virtualhost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
# Servers to proxy the connection, or
# List of application servers Usage
ProxyPass /app1/ http://10.0.1.22:80/
# ProxyPass /app1/ http://10.0.1.22:443/
</virtualhost>
Eu já alterei o /etc/apache2/ports.conf e /etc/apache2/httpd.conf para que minha home page sempre use SSL com a porta 443. Eu criei um arquivo proxy-ssl-host.conf com o seguinte conteúdo.
<virtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine On
# Set the path to SSL certificate
# Usage: SSLCertificateFile /path/to/cert.pem
SSLCertificateFile /etc/apache2/ssl/homepage.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/homepage.com.key
ProxyPreserveHost On
ProxyPass /app1/ https://10.0.1.22:443/
ProxyPassReverse /app1/ https://10.0.1.22:443/
ServerName localhost
</VirtualHost>
Depois de fazer o proxy-ssl-host.conf, eu digitei o seguinte
sudo a2ensite proxy-ssl-host.conf
sudo service apache2 reload
sudo systemctl restart apache2.service
Agora, quando eu for ao meu navegador e entrar
https://homePage.com/app1/page.php
Eu obtenho
The requested URL /app1/page.php was not found on this server.
Apache/2.4.18 (Ubuntu) Server at homePage.com Port 443
EDIT 1:
Eu tentei
sudo netstat -ntpl | grep :443
no servidor de aplicativos e não obteve nada, então o apache não estava escutando na porta 443 desse servidor. Eu adicionei
Listen 443
depois
Listen 80
no ports.conf e agora obtenha
tcp6 0 0 :::443 :::* LISTEN 2205/apache2
depois
sudo netstat -ntpl | grep :443
Infelizmente, isso não resolveu nenhum dos meus problemas no navegador.
EDIT 2:
Quando fui ao servidor da web e inseri
wget https://10.0.1.22/page.php
Eu tenho
--2018-02-18 20:58:32-- https://10.0.1.22/page.php
Connecting to 10.0.1.22:443... connected.
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Unable to establish SSL connection.
Quando entrei
wget https://10.0.1.22/app1/page.php
Eu tenho
--2018-02-18 20:59:37-- https://10.0.1.22/app1/page.php
Connecting to 10.0.1.22:443... connected.
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Unable to establish SSL connection.
Quando entrei
wget http://10.0.1.22
Eu tenho
--2018-02-18 19:32:45-- http://10.0.1.22/
Connecting to 10.0.1.22:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4198 (4.1K) [text/html]
Saving to: ‘index.html’
index.html 100%[=====================================================================================>] 4.10K --.-KB/s in 0s
2018-02-18 19:32:45 (564 MB/s) - ‘index.html’ saved [4198/4198]
Quando eu configuro o SSL no meu DMZ, no meu porão, eu só precisei instalar os certificados SSL no meu servidor web e eles entraram em vigor no meu servidor de aplicativos também. No entanto, no meu porão, eles tinham o mesmo endereço IP público. Além disso, o servidor web rodou o CentOS e o servidor de aplicativos Debian. Com minha nuvem DMZ, eles têm endereços IP diferentes e ambos são executados no Ubuntu. Eu queria saber se isso exige a configuração dos certificados, no meu servidor de aplicativos, da mesma forma que os configuro no servidor da Web.