nodejs listen port 80 on AWS

把放在 aws 上的 nodejs 程式改成用 80 port
結果就出現 warn - error raised: Error: listen EACCES 的錯誤訊息
改成 1025 以上的 port 才能正常啟動

上網查了一下, 才知道在沒有 root 權限下, 不能 listen 1024 以下的 port
但是直接用 sudo node server.js 的方式啟動程式, 又很容易有安全性的問題,
後來找到的解決辦法, 是用 iptables 將外部的 port 80 對到 內部的 port 8000

問題點:
http://stackoverflow.com/questions/9164915/node-js-eacces-error-when-listening-on-most-ports
As for your workstation, and as a general rule, processes running without root privileges cannot bind to ports below 1024.

解決辦法:
https://gist.github.com/kentbrew/776580/raw/1bcbd71ae3a246765bacf4032dde7d0952bdb15f/node-on-ec2-port-80.txt
用 iptables 把 外部的 port 80 對到 內部的 port 8000

0 意見:

張貼留言