Nenhum manipulador de protocolo era válido para o URL para soquetes unix

2

Estou tentando usar um soquete unix com o apache 2.4.10 e continuo recebendo o erro No protocol handler was valid for the URL /foo.

Eu tenho mod_proxy_uwscgi instalado e ativado.

Meu host virtual é assim:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName foo.example.com

    <Location />
            ProxyPass unix:/path/to/socket.sock|uwscgi://
    </Location>
</VirtualHost>

Saída de apachectl -M

Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 headers_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 proxy_module (shared)
 proxy_ajp_module (shared)
 proxy_fcgi_module (shared)
 proxy_http_module (shared)
 proxy_uwsgi_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)

Não consigo ver o que estou fazendo de errado.

    
por Arcath 01.03.2017 / 11:59

2 respostas

2

Você tem um erro de digitação. Não é uwscgi, é uwsgi.

Dos documentos da UWSGI :

Starting from Apache 2.4.9, support for Unix sockets has been added. The syntax is pretty simple:

ProxyPass / unix:/var/lib/uwsgi/app1.sock|uwsgi://uwsgi-uds-app1/

ProxyPass / unix:/var/lib/uwsgi/app2.sock|uwsgi://uwsgi-uds-app2/

    
por 01.03.2017 / 12:22
0

Eu acho que você pode precisar ter a seguinte linha no lugar do que você tem atualmente: ProxyPass uwscgi://path/to/socket.sock

Além disso, os caminhos unix / uwscgi são fornecidos como URIs, que devem estar no formato PROTOCOL: // PATH. Se PATH é um caminho canônico, você teria, e. unix: /// dev / null.

    
por 01.03.2017 / 12:22