Host local erro 403

Estou começando os cursos para fazer a migração para Vultr. Seguindo o curso de DNS, peguei o IP na Vultr e editei no arquivo hosts, tudo conforme o tutorial. Está me gerando o erro 403 quando tento acessar ou vezes tempo de conexão esgotado. Será que pulei alguma etapa?

O domínio já está instalado neste servidor?
Qual configuração está utilizando no servidor?

Bom, ainda estou aprendendo e tentando entender tudo, então fiz essas etapas:

  1. Adicionei os NS da cloudfare no meu domínio.
  2. Mantive os registros na minha hospedagem atual, pois queria modificar mesmo domínio mas manter online ainda.
  3. Criei o servidor na Vultr.
  4. Mudei o host local colocando o IP do novo servidor e ocorreu esses erros mencionados.
  5. Iniciei a configuração do aapanel até a parte que coloco o subdomínio e adicionei os registros na cloudfare tanto o A quanto o AAAA para o subdomínio, e ai o aapanel deu dns_probe_finished_nxdomain com a nova URL.

Foram esses dois problemas que me travaram até então.

O 403 geralmente significa que o domínio ainda não foi instalado no servidor.
No caso, parece que apenas direcionou o domínio para o servidor pelo hosts mas ainda não instalou ele no aaPanel.

Para usar subdomínio indicaria primeiramente instalar o domínio principal no servidor e ativar SSL nele.
Isso se torna necessário pois na ativação do SSL do subdomínio o ssl é o mesmo já utilizado no domínio principal.
Essa também é uma possível causa desse problema.

1 curtida

Boa Noite estou com um pequeno problema, acredito que seja mais de configuração, tenho um dominio que estou instalando em um segundo hd no servidor, porem quando acesso as paginas no dominio aparece 403 Forbidden conforme as telas em anexo

alguém poderia me auxiliar

Olá.
Eu nunca fiz uma instalação dessa forma, sempre utilizando o disco principal.
Mas no caso, você precisa configurar seu servidor Web para direcionar o domínio para este diretório.
Para servidor Web está utilizando LiteSpeed ou Nginx?

Erro 403 Forbidden: Diagnóstico e Solução por Ambiente

O erro 403 Forbidden significa que o servidor web está rodando mas recusando servir o conteúdo do domínio solicitado.

Causas mais comuns (95% dos casos):

  1. Domínio não instalado/configurado no painel (40%)
  2. Permissões arquivos/diretórios incorretas (35%)
  3. Falta arquivo index (index.html, index.php) (15%)
  4. Configuração Nginx/Apache/LiteSpeed incorreta (10%)

DIAGNÓSTICO RÁPIDO (2 minutos)

Passo 1: Domínio está instalado no painel?

aaPanel:

Website → Lista de sites → Procurar seu domínio

CloudPanel:

Sites → Lista → Verificar domínio existe

WordOps:

sudo wo site list

Se domínio NÃO aparece: Problema #1 - Domínio não instalado (pular para solução)

Se domínio APARECE: Seguir Passo 2


Passo 2: Verificar permissões

SSH no servidor:

# Verificar permissões diretório site
ls -la /caminho/do/site/

# Resultado esperado:
# Diretórios: drwxr-xr-x (755)
# Arquivos: -rw-r--r-- (644)

Se permissões diferentes: Problema #2 - Permissões incorretas (pular para solução)

Se permissões corretas: Seguir Passo 3


Passo 3: Arquivo index existe?

SSH no servidor:

# Verificar arquivos raiz site
ls -la /caminho/do/site/htdocs/

# Deve ter pelo menos UM destes:
# index.html
# index.php
# index.htm

Se NENHUM arquivo index: Problema #3 - Falta index (pular para solução)

Se tem arquivo index: Problema #4 - Configuração web server (pular para solução)


SOLUÇÕES POR PROBLEMA

PROBLEMA #1: Domínio não instalado no servidor

Sintoma: Editou hosts local apontando IP novo servidor MAS não instalou domínio no painel ainda.

O que acontece:

Navegador → Hosts local → IP servidor novo
               ↓
Nginx/Apache: "Domínio X? Não conheço, 403!"

Solução:

aaPanel:

  1. Website → Add site
  2. Domain: seudominio.com
  3. PHP Version: escolher versão
  4. Create

CloudPanel:

  1. Sites → Add Site
  2. Domain Name: seudominio.com
  3. Vhost Template: PHP (ou WordPress)
  4. Create

WordOps:

# Site WordPress
sudo wo site create seudominio.com --wp

# Site PHP simples
sudo wo site create seudominio.com --php

# Site HTML estático
sudo wo site create seudominio.com --html

Após criar site: Aguardar 30-60 segundos → Testar novamente


PROBLEMA #2: Permissões incorretas

Sintoma: Domínio instalado MAS permissões arquivos bloqueiam acesso.

Solução:

aaPanel (todos web servers):

# SSH no servidor
# Entrar diretório site
cd /www/wwwroot/seudominio.com

# Corrigir permissões
sudo chown -R www:www .
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

CloudPanel:

# SSH no servidor
cd /home/seudominio/htdocs

# Corrigir permissões
sudo chown -R seudominio:seudominio .
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

WordOps:

# WordOps corrige permissões automaticamente:
sudo wo site update seudominio.com --wpfc

# Ou manualmente:
cd /var/www/seudominio.com/htdocs
sudo chown -R www-data:www-data .
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

Testar novamente após 10 segundos


PROBLEMA #3: Falta arquivo index

Sintoma: Diretório site vazio ou sem arquivo index.

Solução rápida: Criar arquivo index teste

# SSH no servidor

# aaPanel:
echo "<?php phpinfo(); ?>" > /www/wwwroot/seudominio.com/index.php

# CloudPanel:
echo "<?php phpinfo(); ?>" > /home/seudominio/htdocs/index.php

# WordOps:
echo "<?php phpinfo(); ?>" > /var/www/seudominio.com/htdocs/index.php

Corrigir permissões:

# aaPanel:
sudo chown www:www /www/wwwroot/seudominio.com/index.php
sudo chmod 644 /www/wwwroot/seudominio.com/index.php

# CloudPanel:
sudo chown seudominio:seudominio /home/seudominio/htdocs/index.php
sudo chmod 644 /home/seudominio/htdocs/index.php

# WordOps:
sudo chown www-data:www-data /var/www/seudominio.com/htdocs/index.php
sudo chmod 644 /var/www/seudominio.com/htdocs/index.php

Testar: Deve aparecer página phpinfo()


PROBLEMA #4: Configuração web server específica

Nginx (aaPanel, CloudPanel, WordOps):

Verificar configuração site:

# aaPanel:
cat /www/server/panel/vhost/nginx/seudominio.com.conf

# CloudPanel:
cat /etc/nginx/sites-enabled/seudominio.com.conf

# WordOps:
cat /var/www/seudominio.com/conf/nginx/nginx.conf

Verificar bloco correto:

server {
    listen 80;
    server_name seudominio.com www.seudominio.com;
    root /caminho/correto/htdocs;  # ← VERIFICAR CAMINHO
    index index.php index.html;
    
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
}

Se root path incorreto: Editar arquivo conf, corrigir caminho, recarregar Nginx:

sudo nginx -t  # Testar configuração
sudo systemctl reload nginx  # Recarregar

Apache (aaPanel):

# Verificar config
cat /www/server/panel/vhost/apache/seudominio.com.conf

# Recarregar Apache
sudo systemctl reload httpd

LiteSpeed (aaPanel):

# Verificar config
cat /www/server/panel/vhost/openlitespeed/seudominio.com.conf

# Reiniciar LiteSpeed
sudo systemctl restart lsws

CASO ESPECÍFICO: Segundo HD (esteioservice)

Problema: Instalou site em /mnt/segundo-hd/ mas web server procura em /www/wwwroot/

Solução:

Opção A: Symlink (Recomendado)

# Criar link simbólico
ln -s /mnt/segundo-hd/seudominio.com /www/wwwroot/seudominio.com

# OU CloudPanel:
ln -s /mnt/segundo-hd/seudominio.com /home/seudominio

Opção B: Editar configuração vhost

Nginx:

# Editar vhost
nano /www/server/panel/vhost/nginx/seudominio.com.conf

# Trocar linha root:
root /mnt/segundo-hd/seudominio.com/htdocs;

# Salvar, testar, recarregar
sudo nginx -t
sudo systemctl reload nginx

Apache:

nano /www/server/panel/vhost/apache/seudominio.com.conf

# Trocar DocumentRoot:
DocumentRoot "/mnt/segundo-hd/seudominio.com/htdocs"

sudo systemctl reload httpd

IMPORTANTE: Permissões segundo HD:

sudo chown -R www:www /mnt/segundo-hd/seudominio.com
sudo chmod -R 755 /mnt/segundo-hd/seudominio.com

CHECKLIST FINAL (Testa tudo rapidamente)

Execute sequência completa:

# 1. Domínio instalado?
sudo wo site list  # WordOps
# OU verificar painel visualmente

# 2. Permissões corretas?
ls -la /caminho/site/htdocs/
# Esperado: 755 diretórios, 644 arquivos

# 3. Arquivo index existe?
ls -la /caminho/site/htdocs/index.*
# Deve listar index.php ou index.html

# 4. Web server rodando?
sudo systemctl status nginx
# OU
sudo systemctl status httpd  # Apache
# OU  
sudo systemctl status lsws   # LiteSpeed

# 5. Teste configuração
sudo nginx -t  # Nginx
# OU
sudo apachectl configtest  # Apache

# 6. Ver logs erro tempo real
sudo tail -f /var/log/nginx/error.log  # Nginx
# OU
sudo tail -f /www/wwwlogs/seudominio.com.error.log  # aaPanel

COMANDOS ÚTEIS DIAGNÓSTICO

Ver qual processo escutando porta 80:

sudo netstat -tlnp | grep :80
# OU
sudo ss -tlnp | grep :80

Ver últimos erros Nginx:

sudo tail -50 /var/log/nginx/error.log

Ver últimos erros Apache:

sudo tail -50 /var/log/httpd/error_log

Testar domínio via curl (ignora hosts local):

curl -I http://IP-SERVIDOR -H "Host: seudominio.com"
# Se retorna 200 OK: Funciona
# Se retorna 403: Problema servidor

RESPOSTA CASO ESPECÍFICO RafaelB

Seu problema: Domínio não instalado no aaPanel ainda.

O que você fez:

  1. :white_check_mark: Criou servidor Vultr
  2. :white_check_mark: Editou hosts local → IP Vultr
  3. :cross_mark: NÃO instalou domínio no aaPanel

Resultado:

Navegador → Hosts → IP Vultr → aaPanel (Nginx)
                                   ↓
                          "Domínio? Não conheço!"
                                   ↓
                              403 Forbidden

Solução:

  1. aaPanel → Website → Add site
  2. Domain: seudominio.com
  3. PHP Version: 7.4 ou 8.0
  4. Create
  5. Aguardar 30s
  6. Testar novamente

Sobre SSL: Só ativar SSL DEPOIS domínio apontando corretamente (não via hosts local).


RESPOSTA CASO ESPECÍFICO esteioservice

Seu problema: Site instalado segundo HD mas web server não sabe.

Caminho site: /mnt/segundo-hd/seudominio.com/
Caminho padrão aaPanel: /www/wwwroot/seudominio.com/

Solução RÁPIDA (Symlink):

# SSH no servidor Oracle
sudo ln -s /mnt/segundo-hd/seudominio.com /www/wwwroot/seudominio.com

# Corrigir permissões
sudo chown -R www:www /mnt/segundo-hd/seudominio.com
sudo chmod -R 755 /mnt/segundo-hd/seudominio.com

# Recarregar web server
sudo systemctl reload nginx  # OU httpd se Apache

Testar: Acessar domínio deve funcionar.


Qualquer dúvida ou problema persistindo, poste:

  1. Qual painel (aaPanel/CloudPanel/WordOps)
  2. Qual web server (Nginx/Apache/LiteSpeed)
  3. Resultado comando: ls -la /caminho/site/htdocs/
  4. Screenshot erro 403

Ajudo resolver! :rocket: