이것은 nodejs의 일부 코드입니다.
const app = express();
const server = app.listen(3000);
app.use(express.static("public"));
console.log("Server is running");
const io = socket(server);
로컬 호스트에서 작동합니다. 전 세계 누구든지 연결하려면 어떻게 해야 합니까?
답변1
주의: 컴퓨터를 인터넷에 열면 일부 보안 위험이 발생할 수 있습니다. 전용 머신(또는 라즈베리) 사용을 고려하고, 백업을 갖고, 보안 방법을 알 때까지 인터넷에서 서버에 액세스할 수 있는 시간을 최소로 제한하고, 보안에 대해 알아보세요.https://tryhackme.com/).
예를 들어 공개 주소를 식별하십시오.https://whatismyipaddress.com/ 이 주소는 ISP에서 제공합니다.
거의 확실하게 컴퓨터의 로컬 방화벽에서 포트 3000을 열어야 합니다(이는 OS/배포판에 따라 크게 다르지만 이를 수행하는 방법은 이미 인터넷 어딘가에 문서화되어 있습니다).
http://<you.ip.num.bers>:3000에 연결해 보세요.
작동하지 않는 경우(대부분) NAT/PAT(네트워크 주소 변환/포트 주소 변환)를 수행하도록 라우터/박스를 구성하여 수신 요청이 시스템으로 리디렉션되도록 해야 합니다.
ip addr
로컬 컴퓨터( 또는 ipconfig
터미널에서) 의 IP 주소를 식별해야 합니다 .
박스에 연결하고 NAT/PAT 구성에 관한 섹션을 찾으세요. WAN 인터페이스("인터넷")의 포트 80에서 컴퓨터의 IP와 선택한 포트(예에서는 3000)로 리디렉션을 추가합니다.
그러면 공개 IP(http://<your.ip.num.bers>)를 사용하여 어디서든 사이트에 연결할 수 있습니다. :80을 추가할 필요가 없습니다. 이는 http의 기본 포트입니다.
당신은 sysadmin을 향한 멋진 여정의 시작점에 있는 것 같습니다. 그렇다면 DNS와 도메인 이름, 역방향 프록시 및 방화벽에 대해 배우고 싶을 것입니다.