Como redirecionar permanentemente a porta 80 a 8080 no OS X?

9

No OS X 10.6 você não possui iptables, então qual é a solução completa para esse redirecionamento permanente de todas as solicitações enviadas à porta 80 para outra porta, como 8080?

Tem que ser persistente.

sorin
fonte
Eu queria sugerir rinetdporque é tão simples que eu pensei que seria compilar em qualquer lugar, mas não parece ser uma porta para OS X, infelizmente ...
Nicolas Raoul
Não posso postar isso como resposta, porque esta pergunta está protegida, mas tive muito sucesso usando o servidor Apache interno para redirecionar para outra porta. Adicione o seguinte ao final do /etc/apache2/httpd.conf: <Location />\nProxyPass http://localhost:8080/\n</Location>(onde \nhá uma nova linha) e ative o "Compartilhamento da Internet" nas Preferências do Sistema.
Tobias

Respostas:

10

Use ipfw como na resposta de @ bindbn. Essa é a ideia geral.

Persistência:

coloque suas regras em um arquivo:

/etc/ipfw.conf

adicione no topo do seu arquivo

flush

Verifique se não há espaços em branco à esquerda ou à direita em nenhuma linha.

adicione a /Library/LaunchDaemons/com.yourdomain.ipfw.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.yourdomain.ipfw</string>
    <key>Program</key>
    <string>/sbin/ipfw</string>
    <key>ProgramArguments</key>
    <array>
      <string>/sbin/ipfw</string>
      <string>-q</string>
      <string>/etc/ipfw.conf</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>

Reinicie ou

launchctl load -w /Library/LaunchDaemons/com.yourdomain.ipfw.plist

a primeira vez.

Depois disso é

launchctl load com.yourdomain.ipfw
chiggsy
fonte
1
Chinggsy, eu tentei o seu método e tudo roda, mas uma vez que eu recebo um erro no console. 30/03/11 16:07:01 PM com.apple.ipfw [342] Linha 1: soquete: operação não permitida As permissões nos dois arquivos são definidas como raiz conforme o proprietário e o problema persiste. o que estou perdendo? peace
concertman 30/03
Este artigo fixa que para mim: apple.stackexchange.com/questions/3250/...
Mattijs
1
Na verdade, essa resposta não funcionou por algum motivo. Este artigo fez no entanto: blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs
No OS X, o Yosemite ipfwfoi removido. Uma solução alternativa usando pffoi postada nesta lista .
Lyschoening
12

Use o ipfw (leia http://discussions.info.apple.com/message.jspa?messageID=10945451 http://discussions.apple.com/thread.jspa?messageID=10996939쳋 )

ipfw add NUMBER fwd 127.0.0.1,8080 tcp from any to me 80

ou http://www.hanynet.com/waterroof/

bindbn
fonte
Obrigado, mas está faltando alguma coisa, essa alteração não é persistente.
sorin
ok, ... coloque sua lista em Agentes de lançamento e não no Daemon. incrível, funcionou para mim.
1
'NUMBER' é algum tipo de posição no ipfw e deve ser substituído por um número real #
Drew