์๋ฒ์ nginx ์ค์นdnf install nginx certbot, nginx ํ๋ฌ๊ทธ์ธ ์ค์นdnf install certbot python3-certbot-nginx ๋๋ฉ์ธ ์ธ์ฆ์ ๋ฐ๊ธcertbot certonly --nginx -d ๋ฐ๊ธํ ๋๋ฉ์ธ ์ธ์ฆ์ ๋ฐ๊ธ ํ์ธ cd /etc/letsencrypt/live/ nginx.conf ์์ vi nginx.conf nginx.conf ๋ฌธ๋ฒ ํ์ธnginx -t nginx ์๋ฌ ๋ก๊ทธ ํ์ธsystemctl status nginx.service nginx ์์ ๋ฐ ์ํ ํ์ธsystemctl start nginxsystemctl status nginx success๋ก ๋จ๋ฉด ์ฑ๊ณตํ๊ฑฐ์
๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
PL/SQL ?Procedural Language/Structured Query Language์ ์ฝ์๋ก, Oracle Database์์ ์ฌ์ฉํ๋ ์ ์ฐจ์ ์ธ์ด์ด๋ค.PL/SQL์ SQL ๋ฌธ์ฅ์ ์ฌ์ฉํ๋ฉด์๋ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ์์ธ ์ฒ๋ฆฌ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ ์ง์ํ๋ค. PL/SQL์ ํน์ง์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ: SQL์ด ์ฃผ๋ก ์ ์ธ์ ์ธ์ด๋ผ๋ฉด, PL/SQL์ ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ฐจ์ ๋
ผ๋ฆฌ๋ฅผ ๊ตฌํํ๊ฑฐ๋, ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.๋ธ๋ก ๊ตฌ์กฐ: PL/SQL์ ๋ธ๋ก(block) ๊ตฌ์กฐ๋ก ๋์ด ์์ต๋๋ค. ๊ฐ ๋ธ๋ก์ ์ต๋ช
๋ธ๋ก ๋๋ ์ ์ฅ ํ๋ก์์ ์ฒ๋ผ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋ ์ ์์ต๋๋ค.SQL๊ณผ์ ํตํฉ: PL/SQL์ ๊ธฐ๋ณธ์ ์ผ๋ก SQL๊ณผ ํตํฉ๋์ด ์์ด, SQL ๋ฌธ์ ํฌํจํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์..

1. https://๋๋ฉ์ธ์ฃผ์ ์น๋ฉด http://ip์ฃผ์๋ก ์ด๋๋๋ ๋ฌธ์ ๋๋ฌธ์ ๊ณ์ ์ค๋ฅ๋จ--> mixed content ์ค๋ฅ, https ์์ http๋ก ์์ฒญ์ ๋ณด๋ด๋ฉด ๋ฐ์ํ๋ ์ค๋ฅ์ธ๋ฐ ๊ตฌ๋งคํ ๋๋ฉ์ธ๊ณผ ssl ์ธ์ฆ์ ์ ์ฉ๊น์ง ๋ค ํด์คฌ๊ณ ํ๋ก์ ์ค์ ๊น์ง ํ๋๋ฐ ๋ ์ด์ ๋ญ ์์ ํด์ผ ๋ ์ง ๊ฐ๋ ์ ์ด๋ฐฑ์๋์์๋ ์๋ชป๋ ๋ถ๋ถ์ด ์์๊ณ ํ๋ก ํธ์์ ๋ญ ๊ณ ์ณค๋ ์ง ๊ฒฐ๊ตญ์ ํด๊ฒฐ์ด ๋จ--> https://๋๋ฉ์ธ์ฃผ์/api ๋ก ์์ฒญ๋ณด๋ด๋ฉด ๋ฐฑ์๋ ์๋ฒ๋ก ์ ๋์ด๊ฐ 2. ๊ทธ๋ฌ๋๋๋ง ์ด์ cors์๋ฌ ๋ฐ์--> spring security ์ฝ๋์์๋ cors ์ค์ ๋ถ๋ช
๋ค ํด์คฌ๋๋ฐ ์ค๋ฅ๋จ.. --> ๊ฒ์ํด๋ณด๋ nginx ์์๋ ์ค์ ์ ํด์ค์ผ ๋์--> n์๊ฐ๋์ ์ฝ์งํ๋ฉด์ confํ์ผ ์์ ํ๊ณ ์ฌ์คํํ๊ณ ๋ฌดํ๋ฐ๋ณต ํ๋..
location /api/ { if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' $allowed_origin always; add_header 'Access-Control-Allow-Methods' 'GET, POST, DELETE, PATCH, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization'; add_header 'Access-Control-Allow-Credentials' 'true'; return 204; } ..
ํด๋ผ์ฐ๋ ์๋ฒ์ ์์๋ฐ์ด๋ 443 ํฌํธ๊ฐ ์ ์ด๋ ค์์์ ์ด์ด์ฃผ๋๊น ๋๋ค
> Task :testApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1786 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276 Caused by: org.hi..
Spring Security ์ jwt๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ์ ํด์ token ๋ฐํํด์ค ๋ ๋ฐ์ํ ์ค๋ฅ ECDSA signing keys must be PrivateKey instances return Jwts.builder() .setSubject(authentication.getName()) .claim(AUTHORITIES_KEY, authorities) .signWith(key, SignatureAlgorithm.ES512) .setExpiration(validity) .compact(); ์ฌ๊ธฐ์ .signWith(key, SignatureAlgorithm.ES512) ์ด ๋ถ๋ถ์ `SignatureAlgorithm.ES512` ์์ `SignatureAlgorithm.HS512` ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋จ
Entity1 ์ ๊ทธ๋๋ก ๋ณต์ฌํด์ Entity2๋ฅผ ๋ง๋ค์ด์ผ ํ๋๋ฐ entityํด๋์ค ์์ฒด์ ์ง์ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ํ๋ ํ๋ํ๋ ๋ณต์ฌ๋ฅผ ํด์ฃผ๋ ค๊ณ ํ๋ค๊ฐ ๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์๋ ์ง ์ฐพ์๋ณด์๋ค ๊ทธ๋์ ๋ฐ๊ฒฌํ.. BeanUtils ์๋ก ๋ค๋ฅธ ๋ java ๊ฐ์ฒด ์ฌ์ด์ ํ๋๊ฐ์ ๋ณต์ฌํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ Entity entity1 = entityRepository.findById(id).orElseThrow(NoSuchElementException::new); Entity entity2 = new Entity(); BeanUtils.copyProperties(entity1, entity2); entity2.createCopyEntity(seqNo) entityRepository.save(entity2); B..