Buka port 80 di server Ubuntu


18

Saya baru memulai di Ubuntu / Linux, dan mengalami kesulitan membuka port 80 untuk koneksi yang masuk.

Saya menjalankan sudo ufw allow 80/tcpperintah, dan ketika saya menjalankan sudo ufw statushasilnya terlihat seperti ini:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

Namun, saya masih mendapatkan kesalahan ini ketika mencoba terhubung ke port dengan cURL.

Gagal terhubung ke port MY_IP_ADDRESS 80: Sambungan ditolak

Ketika saya menjalankan perintah ini netstat -ntlp | grep LISTENuntuk melihat port apa yang terbuka, saya mendapatkan hasil ini:

(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -         

Yang tidak terlihat menjanjikan ..

Bagaimana cara membuka port 80 untuk koneksi masuk?

Jawaban:


12

Tidak ada program yang mendengarkan pada port 80 sehingga ditutup dan Anda tidak dapat terhubung dengannya.

Kamu bisa memakai

sudo python -m SimpleHTTPServer 80

untuk memulai mendengarkan server web sederhana pada port 80, atau menginstal sesuatu seperti Apache (paket apache2) jika Anda menginginkan server web yang penuh sesak nafas.


8

UFW adalah Firewall Tidak Rumit . Ia mengelola port apa di komputer Anda yang dapat dibuka untuk mendengarkan oleh suatu aplikasi. sudo ufw allow 80/tcpberarti mengizinkankoneksi TCP ke port 80 .

Namun, tidak ada yang benar-benar mendengarkan di belakang pelabuhan. Ke curlpelabuhan, harus ada aplikasi yang akan mengirim balasan. Ini biasanya disebut server. Sebagai titik @Florian, Anda dapat menggunakan Python 's SimpleHTTPServeruntuk menguji itu.


Apakah ini permanen?
Marcelo Filho

5

baik apa yang berhasil bagi saya adalah menggunakan iptable

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

2
Sebagai catatan ini tidak permanen. Akan diatur ulang saat reboot.
Oliver Dixon

@OliverDixon, ya benar
azerafati

5

Menggunakan:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Kemudian untuk mencegahnya kehilangan konfigurasi iptables saat restart, gunakan:

sudo apt-get install iptables-persistent

3
Ini akan menjadi suntingan yang bagus untuk jawaban tertanggal 4/2016
Charles Green

2

Anda dapat menggunakan sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTini menerima port ketika mengkonfigurasi dengan port untuk mencegah kehilangan baris terminal kode ini Anda dapat menggunakan sudo apt-get install iptables-persistent Alasan untuk sudo pada permulaan perintah adalah untuk membiarkannya berjalan sebagai superuser yang persisten menggunakannya sebagai koneksi yang tahan. ke port yang disediakan. Anda juga dapat menggunakan Anda dapat menggunakan Python SimpleHTTPServeruntuk mengujinya! Ini pertanyaan yang bagus! Terima kasih!


0

Ini berfungsi untuk saya Just Allow the 80 from iptables

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.