Enrole o script tcp listener para que use um arquivo sock

1

Eu tenho um programa quando executado, começa a listar na porta 12345

$ ./cool_script.pl

Meu administrador do Linux diz que é contra a política abrir portas. Ele diz que eu tenho permissão para usar o ~ / cool_script.sock (soquete de domínio unix) para comunicação. Aparentemente, seu servidor nginx pode ler e gravar na meia como se fosse uma porta tcp.

De qualquer forma, existe uma maneira de envolver um executável (./cool_script.pl) para que a tentativa de abrir uma porta de escuta seja redirecionada para um arquivo .sock.

O que eu tentei: ler alguma documentação para socat

    
por american-ninja-warrior 29.12.2017 / 14:50

2 respostas

0

Este exemplo deve ser adequado para você: link

Basicamente:

Forwarding port 15432 to socket /srv/mongodb-27017.sock:

socat -d -d TCP4-LISTEN:15432,fork UNIX-CONNECT:/srv/mongodb-27017.sock
    
por Patrick Mevzek 29.12.2017 / 15:34
0

Você precisará modificar o funcionamento do programa. Faça-o escutar em um soquete Unix em vez do TCP. Assumindo que o programa está dinamicamente ligado à biblioteca padrão (virtualmente todos os programas são), você não precisa mudar o programa em si, da maneira que você o executa. Você pode fazer isso com LD_PRELOAD , carregando um wrapper para o TCP função de abertura de soquete que, em vez disso, abre um soquete Unix. ttu faz exatamente isso (de acordo com a documentação, nunca usei).

    
por Gilles 11.04.2018 / 09:15