nginx header module
add_header 'Access-Control-Allow-Origin' '{ DOMAIN }';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, HEAD';
add_header 'Access-Control-Allow-Headers' 'Origin,Content-Type,authorization,accept';
API μμ ν λλ λ³λ€λ₯Έ μ΄μκ° μμ§λ§, νλ‘ νΈμλ ννΈμ μμ ν λλ CORS μ΄μμ λν΄μ μκ°μ ν΄λ΄μΌ νλ€. μΌλ°μ μΌλ‘ nginx λ₯Ό μ¬μ©νλ€κ³ ν λ, μμ κ°μ΄ μ μ΄ μ£Όλ©΄ ν΄κ²°μ΄ λκ² μ§λ§ **μ¬μ€ μμ μ½λμλ 보κ°ν΄μΌ ν λΆλΆμ΄ μλ€. **
401
μ λ³΄ν΅ Authorization κ΄λ ¨λ μ΄μκ° μμ λ λ°μνκ² λλλ°, μμ κ°μ΄ CORS λ₯Ό μ μ©νλ©΄ 401
status code λ₯Ό λ΄λ € μ£Όλ reponse μλ CORS μ μ©μ΄ λμ§ μλλ€.
μ΄μ λ add_header
λΆλΆ λλ¬ΈμΈλ°, μ΄ λΆλΆμ μ¬μ€ nginxμ ngx_http_headers_module
μ ν΅ν΄μ μ¬μ©ν μ μλ€. κ·Έλ°λ° add_header
μ μ¬μ©λ²μ 보면 μ΄λ λ€.
Syntax: add_header name value [always];
Default: β
Context: http, server, location, if in location
κ·Έλ¬λκΉ μμ CORS μμ Access-Control-Allow-Origin
μ name μ΄κ³ value λ μ°λ¦¬κ° μ§μ νλ μ΄λ€ λλ©μΈμ΄ λλ κ²μΈλ°, always
λ λκΉ?
401
μ μ λλ‘ μ μ©λμ§ μμλ μ΄μ λ κΈ°λ³Έμ μΌλ‘ add_header
λ μλμ http μνμ½λμ λν΄μλ§ μ μ©λλ€.
200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), or 308 (1.13.0)
κ·Έλ κΈ° λλ¬Έμ λͺ¨λ status code μ λν΄μ μ μ©νκ³ μΆμΌλ©΄ always
λ₯Ό λ€μ λΆμ¬μ£Όλ©΄ λλ€. always
λ μνμ½λμ μκ΄μμ΄ λͺ¨λ status code μ λν΄μ header λ₯Ό μ μ©μν¨λ€.
ngx_http_headers_module
μ add_header
μΈμλ expires
, add_trailer
λ₯Ό μ§μ ν μ μκ² ν΄μ€λ€.
References:
- http://nginx.org/en/docs/http/ngx_http_headers_module.html#add_header** **