DUVIDA CONFIGURAÇÃO DOCKER , LARAVEL COM SUBDIRETORIO
[Finalizado Pelo Aluno]
Bom dia , tenho um cenário com a seguinte situação: estou montando um servidor de homologação onde preciso rodar nele vários sistemas , porém tenho uma limitação de possuir apenas 1 domínio e sem possibilidade de criação de subdomínio ( restrições de infra ).
Então preciso rodar os sistemas em subdiretórios exemplo : homolog.com.br/sistema01 , homolog.com.br/sistema02
porém identifiquei que o laravel não se comporta muito bem com este tipo de configuração , ou da problema em rotas ou não acha o js ou css, ele sempre espera ser o root tipo homolog.com.br ou app.homolog.com.br , não trabalha muito bem com o /nomeDoSistema
Alguém teria uma solução ? minha infra estar em docker usando nginx como proxy reverso
Olá, Gustavo!
Tudo bem?
O bom seria realmente trabalhar com subdomínios, o ideal mesmo seria rodar cada aplicação de forma isolada rsrs
Mas enfim, desafios assim fazem parte da nossa rotina de devs.
--
Tem como deixar cada aplicação em um diretório separado, e acessar /nome-aplicação
Me descreva este servidor por favor?
É servidor Linux?
Está usando o nginx? É com ele que você vai conseguir resolver tudo isso.
Servidor host linux
ai tenho docker instalado cada sistema em 1 container diferente
porem so tenho 1 dns que aponta para o servidor host linux
ai por isso preciso acessar o sistemas da seguinte forma
exemplo: homolog.com.br/sistema01 ( que vai para o meu container 01 )
homolog.com.br/sistema02 ( que vai para o meu container 02 ) etc
tambem tenho um nginx instalado em um container para fazer este proxy
Você precisa instalar o Nginx neste servidor, e criar um proxy pass que vai direcionar as requisições cada uma para uma porta.
location /app-01 {
proxy_pass http://localhost:8080;
}
Ao acessar a /app-01 vai direcionar para a aplicação Laravel que está na porta 8080
Pegou a ideia amigo?
Peguei esta ideia porem ao fazer desta forma o css do laravel não carrega, quando vou no codigo fonte da pagina utilizando o ctr+u do navegador o laravel esta tentando carregar o codigo sem o /app-01 o que não acha o arquivo quebrando todo , as rotas se perde dando o erro 404 not found.
Essas questões de assets realmente são um problemão nesse cenário.
Mesmo informando no arquivo .env a URL para seudomínio.com.br/app-01 não deu certo?
Sim mesmo colocando no env a url correta não resolve
Como está a URL dos seus assets? Pegou a configuração do arquivo .env?
Era pra ta pegando do .env , inclusive peguei o projeto do curso que tem aqui do laravel 8 ( o free mesmo ) e tentei fazer este config e não funcionou
O pior é que helper url() pega a url do contexto da aplicação, no seu caso deve estar http://localhost:8080
Sem chances de usar subdomínio?
Porque essa forma como fez funciona, mas só para APIs;
Tenta assim amigo, cria essa variável de ambiente e passa a URL dos seus assets:
ASSET_URL=homolog.com.br/app-01
Fico no aguardo amigo.
no momento não tenho como usar subdominio , irei testar o ASSET_URL e te retorno
Beleza, no aguardo.
Ainda sem funcionar , acredito que so subdomínio mesmo
Nenhum resultado na URL dos assets (CTRL+u)?
A url muda porem quebra as rotas e no ctrl+u a url fica http://(homolog.com.br/app01) achei bem estranho os ( ) esta aparecendo
Está no caminho certo.
Ou o asset ficou errado no arquivo .env (me mostra por favor), ou no seu .blade está sobrando esse ()
Informa a URL full:
ASSET_URL=http://homolog.com.br/app01
desta forma ao tentar acessar a aplicação aparece a pagina do laravel - 404 NOT FOUND
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!