Node.js 에서 80 포트에서 실행하려고 하면 제목과 같은 오류가 발생합니다.
1024 이하 포트를 실행하려면 루트 권한이 있어야 하는데 일반 유저 권한으로 실행해서 발생한 문제입니다.
웹서버 실행 포트를 1024보다 큰 값으로 바꾸던지 아래처럼 포트포워딩을 시켜줘야 합니다.
즉, 서버를 1024번 이상의 폴더에서 열고 iptable을 사용해서 redirect 해주는 방법을 사용합니다.
$ lsof -i :80
...
$ sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
또 다른 방법으로 아래처럼 해도 되는 것 같습니다.
$ sudo apt install libcap2-bin
$ sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``
다음처럼 해도 된다는데 해 보지는 않았습니다.
작업 폴더(모든 하위 폴더와 파일)를 루트 소유자로 변경하고 루트 권한으로 실행합니다.
$ sudo chown -R root:root 폴더이름
'Linux > Tips&News' 카테고리의 다른 글
ls 명령어 실행시 날짜포맷 변경 (0) | 2023.08.04 |
---|---|
segmentation fault - core dump 파일이 생성되지 않아요? (0) | 2023.07.11 |
GNU_LIBC_VERSION 확인방법 (0) | 2023.06.28 |
An error occurred during the signature verification (0) | 2023.06.17 |
Ubuntu에서 deb 파일 설치하기 (0) | 2023.05.26 |