Saya sedang bekerja pada server CentOS 7 dan saya mencoba untuk membuat JBoss bekerja seperti yang saya inginkan juga. Saya menjalankan Java 8 dan JBoss (liar) 8. Saya telah menginstal dan bekerja pada port default, tetapi saya ingin agar JBoss bekerja pada port 80. Saya tahu saya bisa membuatnya berfungsi pada port 80 jika saya jalankan sebagai root, tapi saya tahu itu bukan ide yang baik dan saya tidak ingin menjalankannya sebagai root.
Saya telah mencoba meneruskan port 80 ke 8080, tetapi saya belum membuatnya berfungsi. Saya pikir saya kehilangan langkah, tetapi saya tidak tahu apa yang saya lewatkan.
Saya menggunakan firewall-cmd. Saya telah membuka kedua port (80 & 8080) dan saya telah mengaktifkan penyamaran untuk zona publik. Saya juga telah menggunakan perintah ini untuk meneruskan port
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.
Ada yang tahu apa yang saya lewatkan?
sumber
Jawaban:
Saya baru saja menemukan cara yang memungkinkan ini untuk saya:
sumber
firewall-cmd
Add-forward-port akan menambahkan aturan kePREROUTING
rantai NAT, yang hanya berlaku untuk paket yang dibuat secara eksternal. Jika Anda mencoba untuk terhubung ke localhost (atau IP lokal server) pada port 80 di server itu akan gagal karena paket-paket itu tidak pernah lewatPREROUTING
.Jika Anda terhubung ke port 80 dari sumber eksternal, maka
firewall-cmd
Anda yang terdaftar harus bekerja dengan baik. Saya sarankan memverifikasi bahwa antarmuka Anda sebenarnya di zona 'publik'.Anda juga dapat menjalankan perintah berikut untuk mendapatkan jumlah paket pada aturan untuk memastikan itu benar-benar dipukul:
iptables -t nat -vnL | grep 8080 -B1
Jika jumlah paket bertambah pada setiap percobaan, maka firewall berfungsi dengan baik dan Anda memiliki beberapa masalah di luar firewall (mungkin ACL di JBOSS?). Jika paket tidak bertambah pada setiap percobaan, aturan firewall tidak terkena sama sekali, menunjukkan bahwa Anda berada di zona yang salah atau ada aturan lain yang mendahului aturan penerusan port.
sumber