Estou usando o OS X El Capitan com o servidor (aplicativo) configurado para permitir acesso VPN à minha rede doméstica. Infelizmente, o aplicativo Server decidiu iniciar várioshttpdprocessos, que agora estão escutando nas portas 80, 443 e outras, mesmo que as configurações do servidor paraSiteséDESLIGADOe nenhum serviço deve ser iniciado nessas portas.
Eu não quero ou preciso desses serviços ativos e gostaria que o httpd fosse encerrado (ou não iniciado). Infelizmente, não posso matar esses processos (eles simplesmente reiniciam imediatamente) nem posso controlá-los atravéslançamentoctl.
sudo lsof -i :80
httpd 422 root 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
httpd 425 _www 5u IPv6 0x7... 0t0 TCP *:http (LISTEN)
ps u 422
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 422 0.0 0.0 2457156 6136 ?? Ss 5:55PM 0:00.07 /usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf -E /private/var/log
Ao tentar:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
Então, como faço para encerrar esses processos e liberar essas portas?
Eu sei que existe um arquivo de configuração para o servidor Apache aqui:/Library/Server/Web/Config/Proxy/apache_serviceproxy.conf
Posso remover as seguintes linhas para desbloquear essas portas, mas ohttpdos processos ainda estão em execução.
listen 80
listen 443
Responder1
O serviço proxy da Apple é o serviço que captura as portas 80 e 443, então você precisa interrompê-lo.
sudo launchctl unload -w /Applications/Server.app/Contents/ServerRoot/System/Library/LaunchDaemons/com.apple.serviceproxy.plist
Responder2
Você pode parar isso com o comando:
sudo apachectl stop
Responder3
Este comando deve matar todos eles:
sudo killall httpd
Eles começarão novamente na próxima inicialização.
Responder4
Caso outras pessoas estejam chegando a esta questão pesquisando porhttpdouporta 80mas não tem o Server.app em execução, esta é a solução para macOS Monterey 12.xe posterior:
sudo launchctl bootout system/org.apache.httpd