2023-08-10-TIL

Today I Learned

Event Driven Architecture

  • https://techblog.woowahan.com/13101/

Content-Type: application/octet-stream

  • https://pygmalion0220.tistory.com/entry/HTTP-Content-Type

Nginx Ignoring Query Strings

만약 nginx로의 변경 이후에 발생한 쿼리 스트링 사라짐 문제의 원인이 Tomcat에서 nginx로의 변경 때문이라면, 대부분의 경우 문제는 nginx의 프록시 설정에 관련되어 있을 가능성이 높습니다. 이러한 문제를 해결하기 위해서는 nginx의 프록시 설정을 검토하고 수정해야 할 수 있습니다.

아래는 이 문제를 해결하기 위한 몇 가지 단계와 고려해야 할 사항입니다:

  1. proxy_pass 설정 확인: nginx의 설정 파일에서 proxy_pass 지시문이 올바르게 구성되어 있는지 확인하세요. 이 설정은 nginx가 요청을 백엔드 서버로 전달할 때 사용됩니다. 이 설정이 잘못되면 요청이 제대로 전달되지 않을 수 있습니다.

  2. 쿼리 스트링 전달 설정: proxy_pass 설정에 $args를 포함하여 쿼리 스트링을 전달하도록 설정되었는지 확인하세요. 쿼리 스트링이 전달되지 않으면 nginx가 백엔드 서버로 요청을 전달할 때 쿼리 스트링이 사라질 수 있습니다.

    예:

    location / {
        proxy_pass http://backend-server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass_request_headers on;
        proxy_pass_request_body on;
    }
    
  3. 헤더 설정: nginx가 프록시 서버로 요청을 전달할 때 필요한 헤더들을 올바르게 설정하였는지 확인하세요. 특히 X-Real-IP, X-Forwarded-For, X-Forwarded-Proto와 같은 헤더들은 프록시 서버와 백엔드 서버 간의 통신을 위해 중요합니다.

  4. 리다이렉트 설정: nginx 설정에 의한 리다이렉트가 쿼리 스트링을 손실시킬 수 있습니다. 필요한 경우 리다이렉트 설정을 확인하고 수정하세요.

위의 단계들을 검토하고 설정을 적절하게 수정함으로써 nginx로의 변경으로 인한 쿼리 스트링 사라짐 문제를 해결할 수 있을 것입니다.

  • https://stackoverflow.com/questions/12654521/why-is-nginx-is-ignoring-my-query-strings
  • https://stackoverflow.com/questions/43980854/url-with-parameters-are-not-working-in-ngnix-server
  • https://nginxstore.com/blog/nginx/nginx-javascript-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-api-%EC%9A%94%EC%B2%AD-%EC%9D%BC%EA%B4%84-%EC%B2%98%EB%A6%AC/

Extending Enums in Java

  • https://www.baeldung.com/java-extending-enums
  • https://stackoverflow.com/questions/1414755/can-enums-be-subclassed-to-add-new-elements
  • https://wedul.site/289
  • https://dzone.com/articles/enum-tricks-two-ways-to-extend-enum-functionality