Existe alguma restrição de segurança que impede que o apache2 ouça em uma porta alta?

1

Eu configurei um host virtual Apache2 para escutar em uma porta acima da porta 80, 8011 neste caso.

apachectl configtest não retorna nenhum erro em relação ao uso da porta alta, mas o netstat indica que a porta não está em uso e o telnet para o endereço IP mostra que ela não está em uso. O log do Apache não gera logs. Aqui está a configuração do host virtual. Tanto quanto eu posso dizer usando a porta 8011 deve funcionar como não há nada de escuta nele, ainda Apache2 parece ignorá-lo completamente. Poderia haver alguma configuração apparmor ou SELinux parando? O host virtual está falhando ao carregar? Se estiver falhando, o apache2 não está registrando um erro.

<VirtualHost 192.168.56.52:8011>
        ServerName lazrepos.ho.local
        ServerAlias util01.lazrepos.ho.local lazrepos.br.local util01.lazrepos.br.local util01.lazrepos.local lazvbox.local
        ServerAdmin webmaster@localhost
        DocumentRoot /home/lazrepos/repos/svn

        DirectoryIndex index.html

        <Directory />
                Require all granted
        </Directory>

        <Directory  /home/lazrepos/repos/cgi/viewvc/bin/cgi/ >
                AddHandler cgi-script .cgi .pl
                Options +ExecCGI
                Order allow,deny
                Allow from all
        </Directory>

        ScriptAlias /viewvc /home/lazrepos/repos/cgi/viewvc/bin/cgi/viewvc.cgi
        ScriptAlias /query /home/lazrepos/repos/cgi/viewvc/bin/cgi/query.cgi

        ErrorLog /home/lazrepos/sites/lazrepos/www/logs/apache2/error.log
        CustomLog /home/lazrepos/sites/lazrepos/www/logs/apache2/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

        LoadModule dav_module         modules/mod_dav.so
        LoadModule dav_svn_module     modules/mod_dav_svn.so

        <Location /lazrepos/svn>
          DAV svn
          SVNParentPath /home/lazrepos/repos/svn/fpc_laz
        </Location>
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
    
por vfclists 20.02.2017 / 21:10

2 respostas

2

O problema foi causado pela ausência de uma opção Listen XXXX em ports.conf ou no arquivo host virtual relevante. Adicionar Listen 8011 a ports.conf ou adicioná-lo ao topo do arquivo do host virtual resolveu o problema.

O que achei surpreendente foi que o arquivo de log de erros do servidor principal e do host virtual não avisou que o 8011 em <VirtualHost 192.168.56.52:8011> não tinha um comando Listen correspondente. Talvez ele exija opções adicionais em alguns dos arquivos de configuração ou nos scripts de execução

    
por 23.02.2017 / 11:54
2

Se o apache tiver problemas ao carregar a configuração, muitas vezes você verá os erros no arquivo errorlog, /home/lazrepos/sites/lazrepos/www/logs/apache2/error.log .

  • Existe um firewall na máquina / rede que impediria um telnet?
  • Você estava telnetando localmente para o endereço?
  • Você está dizendo ao Apache para ler o arquivo de configuração, presumivelmente em /home/lazrepos em algum lugar, com a opção f ?
por 20.02.2017 / 21:38