Socket.io: μ΅œμ‹  릴리슀의 CORS 였λ₯˜

에 λ§Œλ“  2020λ…„ 11μ›” 09일  Β·  7μ½”λ©˜νŠΈ  Β·  좜처: socketio/socket.io

이전 λ²„μ „μ˜ socket.ioλŠ” 잘 μž‘λ™ν•˜μ§€λ§Œ μ΅œμ‹  λ¦΄λ¦¬μŠ€λŠ” μ•žλ’€λ‘œ μ—°κ²°ν•˜λ €κ³  ν•  λ•Œ CORS 였λ₯˜λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€. λ˜ν•œ CORS 미듀웨어λ₯Ό μ„œλ²„μ— μΆ”κ°€ν–ˆμ§€λ§Œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이전 λ²„μ „μ˜ μ†ŒμΌ“μœΌλ‘œ λ‹€μ‹œ μ „ν™˜ν•˜λ©΄ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

image

question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ•ˆλ…•ν•˜μ„Έμš”! μ£„μ†‘ν•©λ‹ˆλ‹€. λ¬Έμ„œλŠ” v3 용으둜 μ—…λ°μ΄νŠΈλ˜λŠ” μ€‘μž…λ‹ˆλ‹€.

여기에 CORS에 λŒ€ν•œ μ„Ήμ…˜μ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€ : https://socket.io/docs/v3/handling-cors/

그것이 μΆ©λΆ„νžˆ λͺ…ν™•ν•œ 지 확인해 μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

λͺ¨λ“  7 λŒ“κΈ€

μ•ˆλ…•ν•˜μ„Έμš”. 3.0 λ¦΄λ¦¬μŠ€μ—μ„œ λ³€κ²½λœ 사항이 λ¬Έμ„œμ— λ°˜μ˜λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€.
이 링크 https://socket.io/docs/migrating-from-2-x-to-3-0/ , CORS 처리 μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

거짓말은 μ•ˆ ν• κ±°μ—μš”. 였늘 λ°”λ‘œ socket.io둜 ν”Œλ ˆμ΄ν•˜κΈ° μ‹œμž‘ν–ˆκ³  λ°”λ‘œ λ„λ‘œ 블둝이 μžˆμŠ΅λ‹ˆλ‹€. 2.x둜 λ‹€μš΄ κ·Έλ ˆμ΄λ“œν•˜μ§€λ§Œ λ¬Έμ„œμ— 버전 κ΄€λ¦¬κ°€μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš”! μ£„μ†‘ν•©λ‹ˆλ‹€. λ¬Έμ„œλŠ” v3 용으둜 μ—…λ°μ΄νŠΈλ˜λŠ” μ€‘μž…λ‹ˆλ‹€.

여기에 CORS에 λŒ€ν•œ μ„Ήμ…˜μ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€ : https://socket.io/docs/v3/handling-cors/

그것이 μΆ©λΆ„νžˆ λͺ…ν™•ν•œ 지 확인해 μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

@darrachequesne κ°μ‚¬ν•©λ‹ˆλ‹€, ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€!

이것은 glitch.me ν”„λ‘œμ νŠΈλ₯Ό 가진 μ‚¬λžŒλ“€μ—κ²Œ 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€. v3으둜 μ—…κ·Έλ ˆμ΄λ“œ ν•  λ•Œ glitch.me ν”„λ‘œμ νŠΈκ°€ saifulshihab κ²Œμ‹œ 였λ₯˜λ‘œ 응닡을 μ‹œμž‘ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ CORSλŠ” glitch.me 및 AWS의 TOS에 μœ„λ°°λ˜λ©° ν”„λ‘œμ νŠΈκ°€ μ œκ±°λ©λ‹ˆλ‹€. CORSλ₯Ό ν¬ν•¨ν•˜μ§€ μ•Šκ³  v3 ν”„λ ˆμž„ μ›Œν¬λ₯Ό μ‹€ν–‰ν•  μˆ˜μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

CORSκ°€ 무엇이며 μ™œ λ¬Έμ œμΈμ§€ μ™„μ „νžˆ μ΄ν•΄ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€. λ‚˜λŠ” 단지 κ³„νšμ„ μ§œλŠ” κ²ƒλΏμž…λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @quindo -CORSλ₯Ό ν™œμ„±ν™”ν•˜λŠ” 것이 Glitch의 TOS에 μœ„λ°°λ˜μ§€ μ•ŠμŒμ„ λͺ…ν™•νžˆν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€. 일뢀 μ‚¬μš©μžλŠ” μ•…μ˜μ  인 이유둜 CORS-anywhere와 같은 νŠΉμ • npm νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν–ˆμœΌλ©° μ΄λŠ” TOS에 μœ„λ°°λ©λ‹ˆλ‹€.

λ¬Έμ œμ— 직면 ν•œ μ‚¬λžŒλ“€μ„ μœ„ν•΄

// server-side
const io = require("socket.io")(httpServer, {
  cors: {
    origin: "https://example.com",
    methods: ["GET", "POST"],
    allowedHeaders: ["my-custom-header"],
    credentials: true
  }
});

// client-side
const io = require("socket.io-client");
const socket = io("https://api.example.com", {
  withCredentials: true,
  extraHeaders: {
    "my-custom-header": "abcd"
  }
});

이제 닫을 수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. ν•„μš”ν•œ 경우 λ‹€μ‹œμ—¬μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰

κ΄€λ ¨ 문제

adammw picture adammw  Β·  4μ½”λ©˜νŠΈ

MichaelJCole picture MichaelJCole  Β·  3μ½”λ©˜νŠΈ

dmuth picture dmuth  Β·  3μ½”λ©˜νŠΈ

kootoopas picture kootoopas  Β·  4μ½”λ©˜νŠΈ

varHarrie picture varHarrie  Β·  3μ½”λ©˜νŠΈ