Eu tenho um site rodando no servidor Apache. Quando tento visitar um subdomínio, sou redirecionado para o domínio principal.
Aqui está o arquivo de configuração do Apache:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName azaanjobs.com
ServerAlias www.azaanjobs.com
DocumentRoot /var/www/azaanjobs/public_html
<Directory /var/www/azaanjobs/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
</VirtualHost>
</IfModule>
<VirtualHost *:8080>
ServerAdmin [email protected]
ServerName government-jobs.azaanjobs.com
ServerAlias www.government-jobs.azaanjobs.com.com
DocumentRoot /var/www/government-jobs/public_html/
<Directory /var/www/government-jobs/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Como posso consertar isso?
Responder1
O Apache tentará combinar uma solicitação da web com os domínios configurados na ordem em que aparecem no sistema de arquivosedentro dos arquivos de configuração. Como regra geral, é melhor que os subdomínios sejam tratados antes do site principal, que deve ser configurado para funcionar como um "pega-tudo" para qualquer tráfego que não seja tratado.
Com isso em mente, seu arquivo de configuração pode ser atualizado para ficar assim:
<VirtualHost *:8080>
ServerAdmin [email protected]
ServerName government-jobs.azaanjobs.com
ServerAlias www.government-jobs.azaanjobs.com
DocumentRoot /var/www/government-jobs/public_html/
<Directory /var/www/government-jobs/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin [email protected]
ServerName azaanjobs.com
ServerAlias www.azaanjobs.com *.azaanjobs.com
DocumentRoot /var/www/azaanjobs/public_html
<Directory /var/www/azaanjobs/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
</VirtualHost>
</IfModule>
Notas:
- o arquivo de configuração atualizado substitui o
www.government-jobs.azaanjobs.com.com
valor incorreto porServerAlias
uma.com
referência adequada - um
*.azaanjobs.com
alias foi adicionado ao domínio principal para garantir que qualquer tráfego "inesperado" seja capturado e roteado para um local provável - não parece haver nenhuma configuração no site principal para
*:80
, o que pode ser um problema se algo na frente do servidor não estiver convertendo o tráfego não-SSL para usar SSL - o subdomínio ainda está escutando na porta
8080
, então isso precisará ser atualizado*:80
antes que os visitantes possam ver o site sem especificar a porta no navegador
Lembre-se de reiniciar o Apache após alterar o arquivo de configuração:
sudo service apache2 restart
Isso deve lhe dar o que você precisa