Estou usando um VPS pessoal (Ubuntu 20, Apache2) para hospedar um aplicativo web. Atualmente existem 2 sites estáticos, site1.com e site2.org, ambos funcionando.
Instalei um aplicativo que está disponível atualmente na porta 8065, por exemplo:site2.org:8065
Minha pergunta é: como posso configurar o Apache para fazer o aplicativo aparecer emmm.site2.org? (com o subdomínio "mm").
Criei um arquivo de configuração assim:
# /etc/apache2/sites-available/mm.site2.org.conf
<VirtualHost *:80>
ServerName mm.site2.org
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy http://localhost:8065/*>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://127.0.0.1:8065/
ProxyPassReverse / http://127.0.0.1:8065/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Depois de configurar o acima, executei os comandos necessários para reiniciar os serviços assim:
sudo a2ensite mm.site2.org.conf
sudo systemctl reload apache2
sudo service apache2 restart
Também tentei uma variante da <Proxy ...>
linha no arquivo conf do Apache, com base em algumas fontes diferentes, usando simplesmente <Proxy *>
como algumas fontes sugerem.
Se for relevante, minhas configurações de DNS consistem simplesmente em dois registros A ( @
e www
) para cada site.
A saída de sudo apache2ctl -S
é:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 12.345.67.890. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:443 is a NameVirtualHost
default server site1.com (/etc/apache2/sites-enabled/site1.com-le-ssl.conf:2)
port 443 namevhost site1.com (/etc/apache2/sites-enabled/site1.com-le-ssl.conf:2)
alias www.site1.com
port 443 namevhost site2.org (/etc/apache2/sites-enabled/site2.org-le-ssl.conf:2)
alias www.site2.org
*:80 is a NameVirtualHost
default server 12.345.67.890 (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost 12.345.67.890 (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost site1.com (/etc/apache2/sites-enabled/site1.com.conf:1)
alias www.site1.com
port 80 namevhost site2.org (/etc/apache2/sites-enabled/site2.org.conf:1)
alias www.site2.org
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
Não tive sorte em fazer com que o webapp aparecesse no subdomínio desejado.
Responder1
Com base no que você escreve, acho que o DNS não está configurado corretamente:
Se for relevante, minhas configurações de DNS consistem simplesmente em dois registros A (@ e www) para cada site.
Você deve adicionar um RR DNS para um subdomínio, endereço: mm.site2.org. A 12.345.67.890
ou cname (alias): mm.site2.org. CNAME www.site2.org.
. Para direcionar todos os subdomínios para este servidor, o nome RR pode ser um curinga: *.site2.org. A 12.345.67.890
(CNAME RR provavelmente também será suficiente). (Parece que você esperava que já funcionasse assim.)