๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ/Web21

[Web] XFF - Load balancers ํ˜น์€ Proxy ํ™˜๊ฒฝ์—์„œ Client IP ๊ฐ€์ ธ์˜ค๊ธฐ ๊ธฐ์กด์—๋Š” request.getRemoteAddr(); ๋ฅผ ํ†ตํ•ด Client์˜ IP๋ฅผ ๊ฐ€์ ธ์™”๋Š”๋ฐ ์›น์„œ๋ฒ„๋‚˜ WAS ์•ž์— L4์™€ ๊ฐ™์€ Load balancers๋‚˜ Proxy server, caching server๋“ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜์˜€๋‹ค. ์ด๋Ÿฐ ์ œํ’ˆ์€ ์›น์„œ๋ฒ„ ํ˜น์€ WAS์— HTTP๋‚˜ AJP ์š”์ฒญ์„ ๋ณด๋‚ธ ํ›„ ๋ฐ›์€ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€๊ณตํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์žฌ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์€ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ ๊ฒƒ์ด๋‹ค. ( ํด๋ผ์ด์–ธํŠธ IP -> ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ, ํ”„๋ก์‹œ ์žฅ๋น„ -> ์›น์„œ๋ฒ„ ) ๊ทธ๋ž˜์„œ ๋“ฑ์žฅํ•œ ๊ฒƒ์ด XFF(X-Forwarded-For)์ด๋‹ค! XFF ์—๋Š” Client์™€ Proxy IP ๊ฐ€ ์ฝค๋งˆ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜์–ด์žˆ๋Š”๋ฐ ์ˆœ์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ๋ฒˆ์งธ IP๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด Client์˜ IP๋ฅผ ํš๋“ํ• .. 2022. 1. 20.
[Spring] @Transactional์ด ์ ์šฉ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ(๋กค๋ฐฑ์ด ์•ˆ๋˜๋Š” ์ด์œ ) 1. Checked Exception์ผ ๊ฒฝ์šฐ ์‚ฌ์‹ค ์ด ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์œ„ํ•ด ์–ด์ œ java์˜ error์™€ exception์— ๋Œ€ํ•ด ํฌ์ŠคํŒ…์„ ํ–ˆ๋‹ค. Checked Exception์ด ๋ญ”์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ๋จผ์ € ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ๋ณด๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœ! [Java] Error, Checked Exception, Unchecked Exception ๋น„๊ต ์ž๋ฐ”์—์„œ๋Š” ์˜ˆ์™ธ๋ฅผ ํฌ๊ฒŒ Error์™€ Exception์œผ๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ , Exception์€ RuntimeException ์ƒ์† ์—ฌ๋ถ€์— ๋”ฐ๋ผ Checked Exception, Unchecked Exception์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. Error ์‹œ์Šคํ…œ์— ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ.. ynzu-dev.tistory.com Checked Exception๋Š” ์˜ˆ์™ธ์ƒํ™ฉ ๋ฐœ์ƒ์‹œ ๋กค๋ฐฑ์ฒ˜๋ฆฌ๋ฅผ ํ•˜.. 2022. 1. 13.
[Web] redirect์‹œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• - RedirectAttributes ๊ฒฐ๋ก  : RedirectAttributes ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค! @Controller class TestController { @PostMapping("/buy") public String buy(@ModelAttribute("testForm") TestVo vo , HttpServletRequest request , RedirectAttributes redirectAttributes){ // ๊ฒฐ์ œ ์ฒ˜๋ฆฌ ๋กœ์ง //์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ• redirectAttributes.addAttribute("param", param); //๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ• redirectAttributes.addFlashAttribute("param", param); return "redirect:/buy-result"; } } addAttrib.. 2022. 1. 7.
[Web] PRG ํŒจํ„ด (Post - Redirect - Get) PRG ํŒจํ„ด์ด๋ž€? Post -> Redirect -> Get ํŒจํ„ด์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์„ ๋งํ•˜๋ฉฐ, ๊ถŒ์žฅ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜๋‹ค. PRG ํŒจํ„ด์˜ ํ•„์š”์„ฑ ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒํ’ˆ ํŒ๋งค ์„œ๋น„์Šค๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ฃผ๋ฌธ ํŽ˜์ด์ง€๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , Post ๋ฐฉ์‹์œผ๋กœ ๊ฒฐ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ ๊ฒฐ์ œ ์™„๋ฃŒ ํŽ˜์ด์ง€์—์„œ ์‹ค์ˆ˜ ํ˜น์€ ์˜๋„์ ์œผ๋กœ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์„œ๋ฒ„์— ์ „์†กํ–ˆ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ „์†กํ•˜๊ฒŒ ๋˜์–ด ์ค‘๋ณต ๊ฒฐ์ œ ์ฒ˜๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ž์„ธํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜์ž [WEB] PRGํŒจํ„ด PRG(Post-Redicet-Get)ํŒจํ„ด์€ ์›น ๊ฐœ๋ฐœ์‹œ ์‚ฌ์šฉ ๊ถŒ์žฅ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋’ค๋กœ๊ฐ€๊ธฐ, ์ƒˆ๋กœ๊ณ ์นจ์œผ๋กœ ์ธํ•œ ์ค‘๋ณต์ž…๋ ฅ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EX) ์ƒํ’ˆ์ฃผ๋ฌธ PRGํŒจํ„ด ์ ์šฉ ์ „ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒํ’ˆ ์ฃผ๋ฌธ juinor.tistory... 2022. 1. 7.
[JBoss] ๋กœ๊น… ๋ฌธ์ œ, ์ž์ฒด์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋กœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ์™ธํ•˜๊ธฐ JBOSS๋Š” ์ž์ฒด์ ์œผ๋กœ ๋กœ๊ทธ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋•Œ๋ฌธ์— slf4j ๋กœ๊ทธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ deployํ•˜๊ฒŒ ๋˜๋ฉด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์—ฌ ๋กœ๊ทธ๊ฐ€ ์ œ๋Œ€๋กœ ๋‚จ์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ณ„ Web Application์— JBOSS ๋กœ๊น… ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ œ์™ธ ์‹œ์ผœ์•ผ ํ•œ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ• 1. JBOSS ์ธ์Šคํ„ด์Šค ์˜ต์…˜ ์ถ”๊ฐ€ JBOSS ์‹œ์ž‘ ์˜ต์…˜์— ์•„๋ž˜ ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž์ฒด ๋กœ๊ทธ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. Standalone -Dorg.jboss.as.logging.per-deployment=false ๋„๋ฉ”์ธ 2. Web Application์— jboss-deployment-structure.xml ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฐํฌ ์œ„์น˜ WAR : WEB-INF/jboss-deployment-structure.xml EAR : M.. 2021. 12. 31.
[Spring Framework] CSRF ์ ์šฉ ์ง€๋‚œ ๋ฒˆ์— spring boot์— csrf๋ฅผ ์ ์šฉํ•˜๋Š” ํฌ์ŠคํŒ…์„ ์˜ฌ๋ ธ์—ˆ๋Š”๋ฐ ๊ทธ๋ƒฅ spring๊ณผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ฌ๋ผ ๋˜ ํฌ์ŠคํŒ…์„ ์˜ฌ๋ ค๋ณธ๋‹ค! [Spring Boot] spring security - CSRF ์ ์šฉ , +) ajax csrf ์ ์šฉ 1. gradle ํ˜น์€ maven์— 'spring-boot-starter-security' ์ถ”๊ฐ€ implementation 'org.springframework.boot:spring-boot-starter-security' org.springframework.boot spring-boot-starter-security 2.5.5 Spring S.. ynzu-dev.tistory.com web.xml์— dispactcher servlet์„ ๋“ฑ๋กํ•œ๋‹ค. appServlet.. 2021. 12. 14.
ํ•˜๋‚˜์˜ tomcat์— ๊ฐ™์€ ํ”„๋กœ์ ํŠธ ๋‘๊ฐœ ์ด์ƒ ๋„์šฐ๊ธฐ : 'webapp.root' ์—๋Ÿฌ ํ•˜๋‚˜์˜ ํ†ฐ์บฃ์— ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‘๊ฐœ ์ด์ƒ ๋„์—ˆ์„ ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์‹ฌ๊ฐ: Exception sending context initialized event to listener instance of class ch.qos.logback.ext.spring.web.LogbackConfigListener java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' log4j์˜ default value๊ฐ€ webapp.root๋ผ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ค‘๋ณต๋œ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•œ๋‹ค! web.xml์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋! param-value๋ฅผ ์ง€์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค webAppR.. 2021. 12. 13.
[Spring Boot] spring security - CSRF ์ ์šฉ , +) ajax csrf ์ ์šฉ 1. gradle ํ˜น์€ maven์— 'spring-boot-starter-security' ์ถ”๊ฐ€ implementation 'org.springframework.boot:spring-boot-starter-security' org.springframework.boot spring-boot-starter-security 2.5.5 Spring Security๋Š” ์Šคํ”„๋ง ๊ธฐ๋ฐ˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ์„ ๋‹ด๋‹นํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋กœ Spring Security๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณด์•ˆ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ„๋‹จํ•˜๋ฉด์„œ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ตฌํ˜„๊ฐ€๋Šฅํ•˜๋‹ค! 2. XXXXApplication.java์— @EnableWebSecurity ์„ ์–ธ @EnableWebSecurity :Spring Security๋ฅผ ํ™œ์„ฑํ™” @EnableWebSecurity @SpringBoot.. 2021. 12. 7.
728x90
๋ฐ˜์‘ํ˜•