haileyham / study-now

๐Ÿค“ ๋งž์ถคํ˜•ํ€ด์ฆˆ ยท ์Šคํ„ฐ๋””๋ชจ์ง‘ ยท ์ฑ„์šฉ์ •๋ณด๋ฅผ ์–ธ์ œ ์–ด๋””์„œ๋“  ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž๊ธฐ ๊ณ„๋ฐœ์„ ์œ„ํ•œ ๋‹ค๊ธฐ๋Šฅ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
https://study-now-pink.vercel.app
0 stars 0 forks source link

์™ธ๋ถ€ API - Mixed Content ๋ฌธ์ œ #93

Closed haileyham closed 3 months ago

haileyham commented 6 months ago

๐Ÿ“ Issue

๐ŸŒ To Do

๐ŸŒฑ How to & Then

๐Ÿ”ฅ Memo

๋ฌธ์ œ

Originally posted by @haileyham in https://github.com/haileyham/study-now/issues/85#issuecomment-2002899702

haileyham commented 3 months ago

๋ฌธ์ œ ํ•ด๊ฒฐ๋ฒ• ์ฐพ๊ธฐ ์ „์—?

Mixed Content ์—๋Ÿฌ๊ฐ€ Vercel์—์„œ ๋‚˜๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์€ ๊ตฌ๊ธ€๋ง์„ ํ†ตํ•ด์„œ ์‰ฝ๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋ญ ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด

๐Ÿ”ฅ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์›น = ์šฐ๋ฆฌ๋Š” HTTPS ๋กœ ๋กœ๋“œ๋˜์ง€๋งŒ, ์š”์ฒญ์„ ๋ฐ›๋Š” ์›น = API ๋ณด๋‚ด์ฃผ๋Š” ๊ณณ์€ ๋ณด์•ˆ์ด ์ทจ์•ฝํ•œ HTTP ํ”„๋กœํ† ์ฝœ๋กœ ๋˜์–ด์žˆ์–ด์„œ ๋ง‰์•„์คฌ์Œ์„ ์•Œ๋ ค์ฅผ

[์ฐธ๊ณ 1][Mixed content ๋ฌธ์ œ ํ•ด๊ฒฐ(https ์‚ฌ์ดํŠธ์—์„œ http ์‚ฌ์ดํŠธ ์š”์ฒญ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ ๋ฌธ์ œ)](https://wellsw.tistory.com/34) [์ฐธ๊ณ 2][Next.js์—์„œ Mixed Content ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ (feat. Proxy)](https://shiwoo.dev/posts/nextjs-mixed-content-proxy)

haileyham commented 3 months ago

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•?

  1. proxy
  2. API ํ˜ธ์ถœ์šฉ ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ
  3. source ๊ฒฝ๋กœ ๋ณ€๊ฒฝ
haileyham commented 3 months ago

ํ•ด๊ฒฐ ๊ณผ์ •

์‹คํŒจ1

/** @type {import('next').NextConfig} */
const nextConfig = {}

module.exports = {
  rewrites: () => [
    {
      source: "/job-openings",
      destination: "http://study-now-pink.vercel.app/job-openings",
    },
  ],
};

์‹คํŒจ2

/** @type {import('next').NextConfig} */
const nextConfig = {}

module.exports = {
  async headers() {
    return [
      {
        // ๋ชจ๋“  ๊ฒฝ๋กœ์— ๋Œ€ํ•œ CORS ํ—ค๋” ์ถ”๊ฐ€
        source: '/(.*)',
        headers: [
          {
            key: 'Content-Security-Policy',
            value: "upgrade-insecure-requests", // Mixed Content ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ CSP ์ •์ฑ… ์„ค์ •
          },
        ],
      },
    ]
  },
}

์‹คํŒจ3

[์ฐธ๊ณ ][[ERR_LOG] Vercel ๋ฐฐํฌ ์‹œ, Mixed Content ์—๋Ÿฌ ํ•ด๊ฒฐ](https://velog.io/@pangkyu/ERRLOG-Vercel-%EB%B0%B0%ED%8F%AC-%EC%8B%9C-Mixed-Content-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0)

/** @type {import('next').NextConfig} */

const nextConfig = {
  reactStrictMode: true,
  async rewrites() {
    return [
      {
        source: '/job-openings',
        destination: `http://openapi.seoul.go.kr:8088/${process.env.NEXT_PUBLIC_SEOUL}/json/GetJobInfo/1/16/%20/%20/%20/`,
      },
    ];
  },
};

module.exports = nextConfig;
haileyham commented 3 months ago

์ž„์‹œ ํ•ด๊ฒฐ

์™œ ์ž„์‹œ ํ•ด๊ฒฐ?

์ •๋ฆฌ