Bagaimana cara mengarahkan ulang port 80 ke 8080 secara permanen di OS X?

9

Pada OS X 10.6 Anda tidak punya iptables, jadi apa solusi lengkap untuk ini secara permanen mengalihkan semua permintaan yang dikirim ke port 80 ke port lain, seperti 8080?

Itu harus gigih.

Sorin
sumber
Saya ingin menyarankan rinetdkarena sangat sederhana saya pikir itu akan dikompilasi di mana saja, tetapi sepertinya tidak ada port ke OS X, sayangnya ...
Nicolas Raoul
Saya tidak dapat memposting ini sebagai jawaban karena pertanyaan ini dilindungi, tetapi saya telah sangat sukses menggunakan server Apache bawaan untuk mengalihkan ke port lain. Tambahkan berikut ini di akhir /etc/apache2/httpd.conf: <Location />\nProxyPass http://localhost:8080/\n</Location>(di mana \nada baris baru), lalu aktifkan "Berbagi Internet" di System Preferences.
Tobias

Jawaban:

10

Gunakan ipfw seperti pada jawaban @ bindbn. Itu ide yang umum.

Kegigihan:

masukkan aturan Anda ke dalam file:

/etc/ipfw.conf

tambahkan di bagian paling atas file Anda

flush

Pastikan bahwa tidak ada spasi spasi putih terdepan atau jejak di garis mana pun.

tambahkan ke /Library/LaunchDaemons/com.domainanda.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>

Mulai ulang, atau

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

pertama kali.

Setelah itu

launchctl load com.yourdomain.ipfw
chiggs
sumber
1
Chinggsy, saya mencoba metode Anda dan semuanya berjalan tetapi setelah itu saya mendapatkan kesalahan di konsol. 3/30/11 4:07:01 PM com.apple.ipfw [342] Baris 1: soket: Operasi tidak diizinkan Izin pada kedua file ditetapkan untuk di-root karena pemilik dan masalah ini masih ada. Apa yang saya lewatkan? peace
concertman
Artikel ini tetap yang bagi saya: apple.stackexchange.com/questions/3250/...
Mattijs
1
Sebenarnya, jawaban ini tidak berhasil karena suatu alasan. Namun artikel ini melakukannya: blog.scottlowe.org/2012/04/05/setting-up-ipfw-on-mac-os-x
Mattijs
Di OS X Yosemite ipfwtelah dihapus. Solusi alternatif menggunakan pftelah diposting di inti ini .
lyschoening
12

Gunakan ipfw (baca 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

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

bindbn
sumber
Terima kasih tetapi ada sesuatu yang hilang, perubahan ini tidak gigih.
sorin
oke, ... letakkan plist Anda di Launch agent jangan luncurkan Daemon. luar biasa itu bekerja untuk saya.
1
'NUMBER' adalah semacam posisi di ipfw dan harus diganti dengan angka aktual
Drew