포트 80에서 Python SimpleHTTPServer를 시작하려면 어떻게해야합니까?


96

우분투 에서이 명령을 사용하고 있지만 포트 8080에서 시작하고 있으며 다른 서버가 실행 중이 아니므로 포트 80에서 시작하고 싶습니다. bash 스크립트를 설정하여 다음과 같은 작업을 수행 할 수있는 방법을 보았습니다 이것은 명령 포트 플래그 또는 포트를 지정하는 것이 더 간단하지 않습니까?

python -m SimpleHTTPServer

3
당신은 루트로 실행하고 있습니까? 루트 권한이 없으면 <1024 포트에서 청취 할 수 없으며 이에 대해 강력히 권고합니다.
Nathan Osman

답변:


163

sudo python -m SimpleHTTPServer 80

대한 파이썬 3.x를의 버전, 당신은해야합니다 :

sudo python -m http.server 80

1024 미만의 포트에는 루트 권한이 필요합니다.

George가 주석에 추가 한 것처럼이 명령을 루트로 실행하는 것은 좋은 생각이 아닙니다. 모든 종류의 보안 취약점이 열립니다.

그러나 질문에 대답합니다.


6
또한이 명령을 루트로 실행 하는 것은 좋은 생각 이 아니라고 덧붙일 수 있습니다 . 모든 종류의 보안 취약점이 열립니다.
Nathan Osman

2
@cwd :) 1024 미만의 TCP / IP 포트 번호는 일반 사용자가 서버를 실행할 수 없다는 점에서 특별합니다. 이 포트 중 하나의 서비스에 연결하면 실제 해킹을 할 수 있으며 일부 해커가 당신을 대신 한 가짜가 아니라는 것을 확실하게 알 수 있습니다.
jrg

4
@cwd <1024 포트에서 서버를 실행하려면 iptables를 사용하여 들어오는 연결을 ≥1024 포트로 라우팅하십시오. 테스트하려면 sudo nc -l 80( netcat ) 과 같은 작업을 수행하십시오 . 그리고 첫 번째 1024 포트가 왜 루트 사용자로만 제한됩니까?를
Gilles

1
@jrg 포트 <1024는 서버의 sysadmin을 신뢰하지만 다른 사용자는 신뢰하지 않는 경우에만 중요합니다. 오늘날 몇 개의 로컬 네트워크 외부에서는 사용자가 거의 없습니다. 대부분의 서버는 다중 사용자 시스템이 아닙니다.
Gilles

3
이것은 포트 80을 열면 특권을 삭제하는 방법에 대한 관련 질문입니다 .
jcollado

2

다음과 같은 작업을 수행하십시오.

python -SimpleHTTPServer 50505

50505포트 번호는 어디에 있습니까 ?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.