O serviço executado em uma porta específica funciona em qualquer site… Como desativar isso?

0

Por isso, estou executando várias páginas da Web no meu VPS e uso os hosts virtuais do Apache para garantir que qualquer pessoa direcionada ao meu site seja enviada ao site adequado. Infelizmente, algo que eu notei depois de configurar uma instância do Jenkins é que eu posso ir a qualquer um desses domínios que apontam para o meu VPS em diferentes vhosts e acrescentar: 8080 a eles para chegar ao servidor Jenkins. Eu gostaria de encontrar uma maneira de evitar isso e permitir-me acessar apenas o servidor Jenkins via ip: port. Qualquer ajuda é muito apreciada!

Como uma pergunta adicional, há alguma maneira que eu possa apenas deixar de tentar se conectar ao ip: 80 também? Obrigado.

    
por Xemrer 28.03.2018 / 20:13

1 resposta

0

I can go to any of these domains [...] and append :8080 to them to get to the Jenkins server. I'd like to find a way to prevent this and allow me to only access the Jenkins server via ip:port.

O primeiro passo, como mencionado nos comentários, é bloquear o acesso público a your_ip:8080 (o Jenkins ainda pode ser executado internamente nesta porta). Como você faz isso provavelmente dependerá do seu VPS (embora sua iptables ou interface de firewall possa ser um bom lugar para começar).

O segundo passo é tornar o host virtual Apache "padrão" para a porta :XX a proxy reverso (usando o módulo mod_proxy do Apache) e defina o alvo do proxy como uma referência (local) para Jenkins operando em porta :8080 . Esse proxy reverso é o que permitiria o acesso a Jenkins, mesmo que isso fosse bloqueado publicamente de outra forma. Você provavelmente estará especialmente interessado no notas oficiais do Jenkins sobre a execução do Jenkins por trás do Apache .

Notas

  • O motivo pelo qual você deseja que seu proxy reverso seja o host "padrão" de uma determinada porta é porque, com os hosts virtuais baseados em nome e Apache, esse host "padrão" (geralmente o primeiro host virtual com porta :XX ) é retornado quando um IP é solicitado.

  • A porta do seu proxy reverso é definida pela entrada do host virtual. No entanto, se o Apache e o Jenkins operarem no mesmo servidor, essa porta não pode ser a mesma que a Jenkins opera (por exemplo, :8080 ).

  • Não se esqueça de adicionar a diretiva Listen adequada para a porta :XX em sua configuração do Apache.

  • Se você usar a porta :443 (SSL), seu certificado para essa porta deverá incluir seu IP como um nome válido. Você provavelmente receberá avisos de certificados de outra forma.

Para ficar claro, a porta :XX é apenas um exemplo / espaço reservado e significa qualquer porta que você escolher.

Is there any way that I can just drop attempts to connect to ip:80 as well?

Tenha o Apache apenas Listen em portas diferentes de :80 . No entanto, isso quebrará todos os acessos HTTP :80 HTTP da porta normal aos seus sites (ou seja, se um usuário não digitar explicitamente https:// no navegador ou visitar usando um link explícito https:// , eles não poderão se conectar ).

Como um compromisso, você pode usar a mesma técnica acima (com um host "padrão" na porta :80 ) para redirecionar (em vez de proxy) solicitações para seu site principal ou em outro lugar (por exemplo, https://www.google.com ). / p>     

por 30.03.2018 / 10:02