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

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

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

Como pergunta adicional, há alguma maneira de abandonar as tentativas de conexão ao ip: 80 também? Obrigado.

Responder1

Posso acessar qualquer um desses domínios [...] e anexar :8080a eles para chegar ao servidor Jenkins. Gostaria de encontrar uma maneira de evitar isso e permitir que eu acesse apenas o servidor Jenkins via ip:port.

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

A segunda etapa é tornar o host virtual Apache "padrão" para a porta :XXaproxy reverso(usando o Apachemod_proxymódulo) e defina o destino do proxy como uma referência (local) para Jenkins operando em port :8080. Esse proxy reverso é o que permitiria o acesso ao Jenkins, mesmo que de outra forma fosse bloqueado publicamente. Você provavelmente estará especialmente interessado nonotas oficiais da wiki do Jenkins sobre como executar o Jenkins por trás do Apache.

Notas

  • A razão pela qual você deseja que seu proxy reverso seja o host "padrão" para uma determinada porta é porque, com o Apache e hosts virtuais baseados em nome, esse host "padrão" (normalmente o primeiro host virtual com port :XX) é retornado quando um IP é Requeridos.

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

  • Não se esqueça de adicionar a Listendiretiva adequada para port :XXna configuração do Apache.

  • Se você usar porta :443(SSL), seu certificado para essa porta deverá incluir seu IP como um nome válido. Caso contrário, você provavelmente receberá avisos de certificado.


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


Existe alguma maneira de abandonar as tentativas de conexão ip:80também?

Tenha o Apache apenas Listenem portas diferentes de :80. No entanto, isso interromperá todo :80o acesso normal da porta HTTP aos seus sites (ou seja, se um usuário não digitar explicitamente https://em seu navegador ou visitar usando um https://link explícito, ele não conseguirá se conectar).

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

informação relacionada