
방금 Ubuntu/Linux에서 시작했는데 들어오는 연결을 위해 포트 80을 여는 데 문제가 있습니다.
명령 을 실행했는데 sudo ufw allow 80/tcp
결과는 sudo ufw status
다음과 같습니다.
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
그러나 cURL을 사용하여 포트에 연결하려고 하면 여전히 이 오류가 발생합니다.
MY_IP_ADDRESS 포트 80에 연결하지 못했습니다. 연결이 거부되었습니다.
어떤 포트가 열려 있는지 확인하기 위해 이 명령을 실행하면 netstat -ntlp | grep LISTEN
다음과 같은 결과가 나타납니다.
(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 -
그다지 유망해 보이지는 않습니다..
들어오는 연결을 위해 포트 80을 어떻게 열 수 있나요?
답변1
포트 80에는 수신 대기 중인 프로그램이 없으므로 포트가 닫혀 있어 연결할 수 없습니다.
당신이 사용할 수있는
sudo python -m SimpleHTTPServer 80
Python-3의 경우:
sudo python3 -m http.server 80
포트 80에서 수신 대기하는 간단한 웹 서버를 시작하거나 apache2
완전한 웹 서버를 원한다면 Apache(패키지)와 같은 것을 설치하십시오.
답변2
UFW은복잡하지 않은 방화벽. 이는 응용프로그램이 청취하기 위해 열 수 있는 컴퓨터의 포트를 관리합니다. sudo ufw allow 80/tcp
허용한다는 뜻이다TCP연결포트 80.
그러나 실제로 포트 뒤에서 수신 대기하는 것은 없습니다. 포트 로 curl
응답을 보낼 애플리케이션이 있어야 합니다. 이를 일반적으로 서버라고 합니다. @Florian이 지적했듯이 다음을 사용할 수 있습니다.파이썬테스트해보는 거죠 SimpleHTTPServer
.
답변3
사용:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
그런 다음 다시 시작할 때 iptables 구성이 손실되는 것을 방지하려면 다음을 사용하십시오.
sudo apt-get install iptables-persistent
답변4
사용할 수 있는 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
이 터미널 코드 줄을 잃지 않도록 포트로 구성할 때 포트를 허용합니다. sudo apt-get install iptables-persistent
명령을 시작할 때 sudo를 사용하는 이유는 슈퍼유저로 실행되도록 하기 위한 것입니다. 지속성은 이를 지속 연결로 사용합니다. 제공된 포트에 연결합니다. Python을 사용하여 SimpleHTTPServer
테스트 할 수도 있습니다 ! 이것은 좋은 질문이었습니다! 감사합니다!