Distributor: ์Šน์ธ ์‹คํŒจ // ๋ฆฌํผ๋Ÿฌ URL ์ž๋ฅด๊ธฐ

์— ๋งŒ๋“  2019๋…„ 06์›” 24์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: 10up/distributor

๋ฒ„๊ทธ ์„ค๋ช…

๋ฐฐํฌ์ž๋Š” URL์˜ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์— ์ž ์žฌ์ ์œผ๋กœ ๊ธด ๊ฒŒ์‹œ๋ฌผ ๋ชฉ๋ก์„ ํฌํ•จํ•˜๋Š” ์ผ๋ถ€ ํฐ URL์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. WP๋Š” ์•„์›ƒ๋ฐ”์šด๋“œ ์š”์ฒญ์˜ ํ—ค๋”์— ์ „์ฒด URL์„ Referrer ๋กœ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ถฉ๋ถ„ํžˆ ๊ธด URL(~8k+ UTF-8 ๋ฌธ์ž)์„ ์‚ฌ์šฉํ•˜๋ฉด ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ( wamu.org )์™€ ๊ฐ™์ด ํ—ค๋”์— ๋Œ€ํ•ด 8kb ํฌ๊ธฐ ์ œํ•œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์„œ๋ฒ„์˜ ํ—ค๋”๊ฐ€ ๋ฌดํšจํ™”๋ฉ๋‹ˆ๋‹ค. ํ—ค๋”๊ฐ€ ๊นจ์ ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ฆํ•˜๋ฏ€๋กœ ๊ถ๊ทน์ ์œผ๋กœ ์ธ์ฆ์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์‹ ๋‹จ๊ณ„

  1. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์•”ํ˜ธ ๋ฐ ๋ฐฐํฌ์ž๊ฐ€ ์„ค์น˜๋œ WP ์‚ฌ์ดํŠธ์— ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  2. ์ฝ˜ํ…์ธ  ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. Pull Content from ๋“œ๋กญ๋‹ค์šด์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์•”ํ˜ธ๋กœ ์ƒ์„ฑ๋œ ์ž๊ฒฉ ์ฆ๋ช…์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๋กœ ๊ตฌ์„ฑ๋œ ์™ธ๋ถ€ ์—ฐ๊ฒฐ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ํ•„ํ„ฐ ๋ฒ„ํŠผ ์˜†์˜ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ๊ฒŒ์‹œ๋ฌผ ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฒŒ์‹œ๋ฌผ ์œ ํ˜•์€ ์ž์ฃผ ๊ฐ€์ ธ์˜ค๋Š” ์œ ํ˜•์ž…๋‹ˆ๋‹ค(์ด๋Š” URL ํฌ๊ธฐ, ํŠนํžˆ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์—์„œ ์ œ์™ธํ•  ๊ฒŒ์‹œ๋ฌผ ๋ชฉ๋ก์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ).
  5. ํ•„ํ„ฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  6. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ Could not pull content from connection due to error.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™
ํ—ค๋”์—๋Š” ์ „์ฒด URL์ด ์—†์–ด์•ผ ์ œ๋Œ€๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ์ƒท

ํ™˜๊ฒฝ์ •๋ณด

  • ๊ธฐ๊ธฐ: MacBook Pro(13์ธ์น˜, 2018, Thunderbolt 3 ํฌํŠธ 4๊ฐœ)
  • OS: ๋งฅOS 10.14.3
  • ๋ธŒ๋ผ์šฐ์ € ๋ฐ ๋ฒ„์ „: Chrome 74.0.3729.169
  • ๋ฐฐํฌ์ž ๋ฒ„์ „: 1.4.1
  • ํ…Œ๋งˆ ๋ฐ ๋ฒ„์ „: 3.0.28
  • ๊ธฐํƒ€ ์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ ๋ฒ„์ „:

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ

์ œ์•ˆ๋œ ์†”๋ฃจ์…˜: ๋ฆฌํผ๋Ÿฌ URL ์ž๋ฅด๊ธฐ...

add_action('http_api_curl', function($handle, $request_args, $url) {
    if (strpos($url, "wp-json/wp/v2/wamu_story") !== false || strpos($url, "wp-json/wp/v2/posts") !== false) {
        curl_setopt($handle, CURLOPT_REFERER, site_url());
    }
}, 10, 3);

๋ชจ๋“  7 ๋Œ“๊ธ€

@superbuggy ๋””์ŠคํŠธ๋ฆฌ๋ทฐํ„ฐ์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•˜๋ฉฐ ํ”ผ๋“œ๋ฐฑ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ๊ณง ์žˆ์„ 1.5.0 ๋ฆด๋ฆฌ์Šค์—์„œ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋„๋ก ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณ„์† ์ง€์ผœ๋ด ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@dkotter ๋Œ์–ด์˜ค๊ธฐ ์ฝ˜ํ…์ธ  ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@superbuggy ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๋ฆฌํผ๋Ÿฌ/๋ฆฌํผ๋Ÿฌ URL์„ ์ž๋ฅด๋Š” ๊ฒƒ์ด ํ™•์‹คํžˆ ํ•ฉ๋ฆฌ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ URL๋กœ ๋‹ค์‹œ ์ž๋ฅด๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€์ง€ ์•„๋‹ˆ๋ฉด ํ˜„์žฌ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ URL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€์ง€ ์กฐ์‚ฌ ์ค‘์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ œ์™ธ๋œ ๊ฒŒ์‹œ๋ฌผ์„ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด์— ๋ฐ€์–ด ๋„ฃ๋Š” ๊ฒƒ์„ ์ค‘๋‹จํ•˜๊ณ (์‹ค์ œ ๊ธฐ๋Šฅ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€) ๋Œ€์‹  ์ €์žฅ๋œ ์˜ต์…˜์„ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์ด ์žฅ๊ธฐ์ ์œผ๋กœ ๋” ๋‚˜์€์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ๊ท€ํ•˜์˜ ์˜๊ฒฌ๋„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@dkotter ์˜ ๋„์›€์œผ๋กœ ์ด๊ฒƒ์„ ์ข€ ๋” ํŒŒ๊ณ  $this->sync_log = range( 0, 400 ) in PullListTable::prepare_items() ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ด๊ฒƒ์„ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๊ฒŒ์‹œ๋ฌผ์„ ๋Œ์–ด์˜ค๊ธฐ๊ฐ€ ์ •๋ง ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์œผ๋กœ ๊ณ„์† ์ง„ํ–‰ํ•˜๋ฉด post max vars๋กœ ์น˜๋ช…์ ์ธ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ๊ฐ€์ ธ์˜จ ๊ฒŒ์‹œ๋ฌผ์ด ์ œ์™ธ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ณ€์ˆ˜๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์ง€๋งŒ ์™„๋ฒฝํ•œ ์ˆ˜์ •์€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. 1.5์˜ ๊ฒฝ์šฐ ์œ„์˜ ๋ฐฉ๋ฒ•์—์„œ $sync_log ๋ฅผ ์ž„์˜์˜ ์ˆซ์ž(์•„๋งˆ๋„ 200?)๋กœ ์ž˜๋ผ์„œ ์ตœ์†Œํ•œ ๋Œ์–ด์˜ฌ ์ฝ˜ํ…์ธ ์˜ ์ฒ˜์Œ ๋ช‡ ํŽ˜์ด์ง€๊ฐ€ ์—ฌ์ „ํžˆ ์ •ํ™•ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์—๋Š” ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ณผ๊ฑฐ์˜ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ๋งค๊น€์ด ์—ฌ์ „ํžˆ ์ •ํ™•ํ•˜๋„๋ก ๋ชฉ๋ก ํ…Œ์ด๋ธ”(๋กœ์ปฌ ๋™๊ธฐํ™” ๋กœ๊ทธ์™€ ๋น„๊ต). ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํŽ˜์ด์ง€๋‹น ๊ฒŒ์‹œ๋ฌผ๋ณด๋‹ค ๋ˆˆ์— ๋„๊ฒŒ ์ ์€ ํ•ญ๋ชฉ์ด ์žˆ๊ฑฐ๋‚˜ ์ „ํ˜€ ์—†๋Š” ํŽ˜์ด์ง€๊ฐ€ ์žˆ์–ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํ˜ผ๋ž€์„ ์ค„ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ƒํƒœ์—์„œ ํŽ˜์ด์ง€ ๋งค๊น€์—์„œ ๊ฝค ๋ฉ€๋ฆฌ ๋˜๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์„ ๊ฐ์•ˆํ•  ๋•Œ ํ•ฉ๋ฆฌ์ ์ธ UX๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋” ์ผ์ฐ ํšŒ์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋œ ํ–‰์„ ํ‘œ์‹œํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๋Œ์–ด์˜ค๊ธฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์ง€ ์•Š๋Š” ํ•œ ์ œ ์ƒ๊ฐ์—๋Š” ๊ดœ์ฐฎ์•„.

  2. ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค(1.6 ๋˜๋Š” 2.0)์˜ ๊ฒฝ์šฐ ์ธ์ฆ๋œ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์›๊ฒฉ ์‚ฌ์ดํŠธ์— ๋™๊ธฐํ™” ๋กœ๊ทธ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•(์•„์ง ์ €์žฅํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ)๊ณผ ๋Œ€์‹  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์›๊ฒฉ ์‚ฌ์ดํŠธ URL ๋˜๋Š” ๊ธฐํƒ€์˜ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ต์…˜์— ์ €์žฅํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ธ์ฆ๋˜์ง€ ์•Š์€ ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์—ฌ์ „ํžˆ ์›๋ž˜ ์ˆ˜์ • ์‚ฌํ•ญ์œผ๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค.

์–ด๋–ค ์ƒ๊ฐ/์ด์˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์ง€๊ธˆ PR์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@superbuggy ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด #431์„ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ/๋˜๋Š” UI ๊ฒฐ๊ณผ์™€ ์ด๊ฒƒ์ด ๊ท€ํ•˜์—๊ฒŒ ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์‚ดํŽด๋ณด๊ณ  ์˜๊ฒฌ์„ ์ œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด.

#431์„ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ๋” ๋งŽ์€ ์‹ค์‚ฌ๋ฅผ ํ•˜๊ณ  ๋Œ์•„์˜ต๋‹ˆ๋‹ค. @cmmarslender ๊ฐ€ ์–ด์‹œ์ŠคํŠธ์— ์žˆ๋Š” ๊ฒฝ์šฐ ํ—ค๋” ํฌ๊ธฐ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ 414 Request-URI Too Large ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์ค‘ ๋ˆ„๊ตฌ๋„ ์ธ์ฆ ํ—ค๋” ์™ธ์— ์ „์†ก๋˜๋Š” ํ—ค๋”๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜๊ฐ€ ๋ณธ ํŠน์ • ์˜ค๋ฅ˜์— ๋Œ€ํ•ด ์ง์ ‘ ์—ฐ๊ฒฐ(Slack ๋˜๋Š” ๊ท€ํ•˜๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ)ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋ฆฌํผ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์–ด์„œ ์—ฌ์ „ํžˆ ๊ธฐ์ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ๋กœ์„œ๋Š” ์ œ PR์ด ์‹ค์ œ๋กœ ์˜ฌ๋ฐ”๋ฅธ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„ ์ˆ˜์ •์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ข‹์€ ์†Œ๋ฆฌ! ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ํ•ซํ”ฝ์Šค๋กœ ๋ฉ”์ธ ํ…Œ๋งˆ์˜ functions.php ์— ์œ„์˜ ์ฝ”๋“œ ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ฃผ๋กœ JS ๊ฐœ๋ฐœ์ž์ด๊ณ  WP์— ์ƒˆ๋กœ์šด ์‚ฌ๋žŒ์ด๋ฏ€๋กœ WP๊ฐ€ ๋ฆฌํผ๋Ÿฌ URL์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์„ธ๋ถ€์ ์ด๊ณ  ๋‚ฎ์€ ์ˆ˜์ค€์˜ ์ดํ•ด๊ฐ€ ์•„์ง ์—†์ง€๋งŒ 414 ๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋‚œ ๋ฌธ์ œ. ์ถ”๊ฐ€ ์กฐ์น˜๋กœ ํ—ค๋”๋ฅผ ์ตœ๋Œ€ 32k๊นŒ์ง€ ํ—ˆ์šฉํ•˜๋„๋ก NGINX ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋ชจ์ปจ์˜ ์Šคํ† ๋ฆฌ ์ œ์™ธ ๋ชฉ๋ก๋„ ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์ดํŠธ๊ฐ€ ์ด๋ฏธ ๊ฐ€์ ธ์˜จ ๊ฒŒ์‹œ๋ฌผ์„ ์ถ”์ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ง๊ด€์ ์œผ๋กœ ๋Š๊ปด์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์˜ต์…˜ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์‘๋‹ตํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰