묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
실무에서 웹개발자가 명시적으로 선언하는 보안 정책의 범위 및 보안 정책 설정 위임 라이브러리
실무 환경에서는 웹 개발자들이 이런 브라우저 보안 정책들(CSP, CORS, SRI, 쿠키 속성, Referrer-Policy 등)을어느 정도 수준까지 직접 명시적으로 선언하고 관리하는지가 궁금합니다.예를 들어,어떤 정책들은 코드나 미들웨어에서 직접 작성하고,어떤 정책들은 서버나 CDN 레벨에서 일괄 설정되는지그 구분의 현실적 기준이 있다면 듣고 싶습니다.또한 이런 보안 헤더들을 설정할 때 자주 사용하는 라이브러리나 프레임워크 추천도 부탁드립니다.(예: Express helmet, Next.js next-safe, Nginx 보안 헤더 설정 등)
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
브라우저 내부 보안 정책 스코프에 대한 질문
CSP, CORS, SRI, 쿠키 속성, Referrer-Policy 같은 HTTP 기반 보안정책들은서버가 응답 헤더로 내려주면 브라우저의 내부 policy layer에서 관리된다고 알고 있습니다.그런데 이때 브라우저가 이런 보안 정책들을 저장하고 적용하는 단위가Origin 단위(정확히 scheme + host + port)로 관리되는지,아니면 Site 단위(예: eTLD+1 기반, 쿠키 격리처럼 더 넓은 범위) 로 관리되는지도 궁금합니다.즉, 브라우저의 보안 정책(policy layer)은 어떤 기준 단위로 정책을 식별·적용하며,개발자가 설정한 CSP나 CORS 같은 정책들이 브라우저 내부에서어떤 스코프로 캐싱·격리되어 동작하는지 알고 싶습니다.
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
ETag 사용시 서버의 성능 향상
서버에서는 캐싱의 유무와 상관없이 매번 리소스에 대해 digest 를 하게 되는것 같은데요.그러면, 브라우저가 리소스를 캐싱한다고 해서 '서버성능에 도움이 되기보다는 네트워크 대역폭을 아낄수 있다' 정도의 이점이 있다고 보면 될까요?
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
next.js 와 SOP
react (client) + node.js (backend) 와 같은 구성에서는 SOP 에서 설명해주신 '동일 출처 정책' 으로 인해 'fetch' 등을 사용할때 막히는 경우가 종종 있었는데요. 그래서, 이전에는 fe 팀과 be 팀이 개발을 할때 CORS 작업을 항상 했었던걸로 기억합니다. 최근에 많이 사용하는 next.js 는 bff (backend for frontend) 가 중간에 있어서 SOP 로 인한 문제가 거의 없는것 같은데요. (SOP 는 설명해주신것처럼 브라우저 자체의 보안이기 때문에) 이렇게 이해하는게 맞을까요?
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
사전 요청 관련 질문
put, patch, delete 메서드의 경우 options (사전 요청) 을 보내게 된다고 하셨는데요. 물론, 설명 주신것처럼 "Access-Control-Max-Age" 를 통해서 캐싱을 하는 방법도 있겠지만, get 과 post 요청만 사용하는게 (사전 요청을 하지 않으니) 좀 더 효율적인 방법이 될수 있을까요?
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
rest api 에서의 csrf
예제에서 처럼 html 을 response 하지 않고 rest api 를 통해 fe 와 통신하는 경우에도 csrf 를 사용하는 경우가 있을까요? 만약 있다면 어떻게 사용하는지도 알고 싶습니다.
-
미해결떠먹는 자바스크립트 비동기
교안 어디있나요?
교안 어디서 다운받나요?
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
하이잭킹 관련 문의
서버 구성해서 직접 만들고 있는데, 입력폼에서 스크립트가 안먹히더라고요. 쭉 강의 보고 실습필요한 부분 다시 보는데 일전에 브라우져 설정을 변경 했었었나요. 기억이 가물합니다! Content-Security-Policy-Report-Only 이 옵션 때문에 가능했던가요.
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
캐싱 관련 문의
수업에서 브라우저 인스펙터의 옵션에서 [캐시 사용안함] 를 off 후 테스트 하셨는데 캐시 사용 안함은 헤더와 상관없이 캐시를 아예 사용안하는 옵션인가요
-
미해결떠먹는 자바스크립트 비동기
교안 어디서 찾아야하나요?
동기와 비동기 개념동기와 비동기 개념이전다음봤어요커리큘럼질문&답변노트채팅스크립트 질문&답변제목
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
TypeError: querystring is not a function 에러 나시는 분들
querystring.decode(body)로 하시면 해결 가능합니다
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
강사님은 어떤 책으로 HTTP 를 공부하셨나요?
완강 후 책도 한번 읽어보려고 합니다추가로 강의자료 링크를 강의 아래에 달아주시면 좋을 것 같습니다.
-
미해결
certbot을 통한 https 등록 오류(프론트,백엔드 별개 ec2 인스턴스 사용)
안녕하세요.aws ec2를 통하여 프로젝트를 배포 후 https 설정 시 오류가 발생해 질문 남깁니다. 우선 환경부터 설명 드리겠습니다.2개의 aws 계정을 사용 중입니다. 계정1은 프론트엔드(리액트) / 계정2는 백엔드(스프링) 배포하였습니다.nginx & let's encrypt를 통하여 certbot으로 https 적용 시도 중입니다.도메인 구매(예시: test.co.kr) 후 Route53을 통하여 각 인스턴스에 적용시켰습니다.프론트: www.test.co.kr / 백엔드: api.test.co.kr각 도메인은 정상적으로 동작하고, 접속도 됩니다.에러 상황우선 프론트엔드 서버(www.test.co.kr)에서 우선 인증서 발급 및 https 적용하려 하였습니다.1. test.co.kr로 인증 수행초기에는 여러 블로그를 보고 따라하다보니, www.test.co.kr이 아닌 test.co.kr로 인증서 발급을 진행하였습니다. 진행 과정 중에서 다음과 같은 오류가 발생하였습니다.A 레코드가 없다는 것으로 파악해 test.co.kr이 아닌 Route53에 A 레코드로 등록한 www.test.co.kr을 등록해야 되겠다고 생각하여 다음은 www.test.co.kr로 진행하였습니다. 2. www.test.co.kr로 인증 수행www.test.co.kr로 인증을 진행한 사진입니다. 확인해보면 AAAA 레코드가 없다고 나오는데, Route53에는 A 레코드로 인스턴스에 대한 도메인이 등록되어 있는데 그래서 오류가 발생하는 것 일까요?
-
미해결
ec2 스프링 https 적용 (feat. 도메인 적용)
안녕하세요 웹 프로젝트 진행 중 궁금한 점이 생겨 질문드립니다.react와 spring으로 개발을 진행하였고 둘다 ci/cd 적용을 해서 배포를 해둔 상태입니다! 문제상황프론트는 도메인을 구입하여 https가 적용된 상태벡엔드는 Ec2에서 돌아가고 있어 탄력적 ip만 사용하여 http만 적용해결방법프론트 도메인이 xxx.com이고 도메인을 하나 더 구입하여(xxx.net) 서버가 돌고 있는 ec2와 연결해 aws acm을 사용해 https가 적용되도록 하였습니다.궁금한 점프로젝트가 끝난 후 찾아보니 xxx.com(프론트 도메인)에 서브 도메인을 등록하여서 백엔드 로드벨런서를 적용하면 api.xxx.com을 백엔드 도메인으로 사용이 가능한 것으로 이해했는데 맞을까요?서브 도메인 말고 하나의 도메인으로 프론트와 백엔드를 처리하는 방법이 있을까요?실제로 많이 사용하는 서버가 올라가져 있는 ec2에 https를 적용하는 방법은 무엇인지 궁금합니다
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
https 적용(SSL/TLS 인증서 발급)과 비용에 관련한 질문입니다.
안녕하세요, AWS를 통한 SSL/TLS 인증서 발급에 대해 한 가지 의문이 들어서 질문 남깁니다.SSL/TLS 인증서는 CA(인증기관)을 통해 발급받을 수 있고,CA는 도메인과 소유자의 세부 정보를 확인하고 '이 웹사이트는 믿을 수 있음'이란 의미로 인증서를 발급해주는 기관이며,AWS는 CA 중 하나로서 도메인과 SSL/TLS 인증서를 판매할 수 있다고 이해했는데요,의문이 생기는 지점은 AWS가 이 SSL/TLS 인증서를 무료로 발급해준다는 점입니다.유/무료 인증서의 차이는 유료 인증서가 웹사이트에 대해 더 높은 신뢰를 보장하고, 보안 사고에 대해 보상금을 지급할 의무를 지는 반면 무료 인증서는 그런 제약이 없다는 것으로 알고 있는데,DNS 검증만 통과하면 AWS에서 인증서가 발급되고, 어떤 보안 사고에 대한 보장 같은 건 언급이 되어 있지 않으니... AWS에서 발급받은 인증서를 예를 들면 회사 홈페이지 도메인에 적용해도 되는 걸까요?무료라고 해도 그 AWS가 '신뢰할 수 없는' 것을 제공할 것 같지는...? 않아서 아리송합니다.강의 내용을 좀 벗어나는 것 같긴 하지만ㅠㅠ 여기저기 검색을 해봐도 적절한 답변을 찾을 수가 없어서요.항상 감사합니다.
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
lightsail ssl 적용 api 작성
안녕하세요 강의대로 lightsail을 이용해서 서버를 구축하였습니다ssl 보안을 적용해서 https api를 만들고자 하는데 혹시 추천하시는 방법이 있을까요?linux계열로 생각해서 ssl를 적용하면 되는 건지 혹은 lightsail 자체에서 제공하는 loadbalence를 적용하면 되는 건지 궁금합니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
sudo certbot --nginx 중에 에러가 발생해 질문합니다.
안녕하세요. 제가 동영상 으로 진행하다가 404 에러가 발생하여댓글에 있는 포스트를 이용해서 진행하려고 했으나, sudo certbot --nginx 과정에서 에러가 발생하여 질문하고자 합니다.// etc/nginx/nginx.conf저는 localhost:3000으로 진행했어서 127.0.0.1:3000으로 기입했습니다.
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
보안 세션을 위한 TLS 핸드셰이크에 해싱알고리즘의 용도
안녕하세요! 큰돌님 강의 잘 듣고있습니다. 해싱 알고리즘은 단방향 알고리즘으로 복호화가 불가능한 것으로 알고있는데, 데이터를 주고받기에 양방향 알고리즘이 필요한 보안 세션 생성 과정에서 복호화가 불가능한 해싱알고리즘의 용도가 궁금합니다! 또한 저는 지금까지 https가 키교환 시 중간자 공격에 대비해 비대칭키 암호화로 공통의 암호키를 생성하고 추후 데이터 통신에는 만들어진 암호키로 사용하는, 대칭키와 비대칭키를 적절히 혼합해 사용한다고 생각했는데 AES라는 대칭키 블록 방식의 암호화를 사용하네요.. 혹시 제가 잘못 알고 있는 부분이 어딜지 궁금합니다!!
-
해결됨Vue로 Nodebird SNS 만들기
Nginx Cookie 설정
안녕하세요. 현재 강의를 수강 중에 https 설정 후 발생하는 문제가 있어서 질문드립니다. 현재 모든 강의를 수강하고 SSL 인증서를 적용하는 제로초님 블로그의 글을 따라 하고 있는데로그인은 되지만 로그아웃이 되지 않는 현상이 발생합니다.개발자도구 - 네트워크에 응답으로 withcredential 예외 응답이 오는 걸로 봐서는 쿠키 설정에 문제가 있는 것으로 추측됩니다.(Nginx 설정은 블로그에 있는 설정에 도메인만 바꿔서 적용하였고 다른 부분은 바꾼 것이 없습니다.)Nginx 설정에 쿠키를 보낼 수 있도록 적용하면 될거 같은데 혹시 다른 문제이진 않은가 걱정이 되어 글을 남깁니다.또한 혹시 https를 적용하고 또 설정해줘야 하는 부분이 짐작되는 것이 있으시다면 조언해주시면 감사하겠습니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
이 시점에서 궁금한 http와https
http를 공부하다보니까 https에 대해서 찾아보게되었는데요.저희가 지금 사용하는것은 https인데, 제가 찾아본 결과 보안장치가 더 추가됐다고 하더라구요.그러면 https도 지금 이제까지 말씀해주신 http의 특징들을 다 가지고있는거 포함 이면서,TCP/IP프로토콜에서 Application 에서 아래층 Transport로 내려가면서 HTTP 에다가 +SSL이라는 보안장치를 가진 정보를 주고 HTTPS가 돼서 전송되는 거라고 생각합니다.즉, HTTP의 기본 프로토콜에다가+ SSL이 추가돼서 HTTPs가 되는거라고 생각하는데 , 그럼 이와 같은 원리로 원래 HTTP/1.1라는 대부분에 들어있는 스펙이 있는데 이후 업그레이드된 HTTP/2, HTTP/3 버전의 경우 또한 기존HTTP를 바탕으로 전송되면서 2 혹은 3로 변경이 되는건가요? 아니면 기존의 HTTP/1.1프로토콜이 아닌 HTTP/3의 경우는 UDP이므로 커스터마이징해서 보내지는건가요? 왜냐하면 이전 영상에서는 개발자도구 열어서 프로토콜을 보게되면 HTTP/1.1이 보였는데, 현재는 구글도그렇고 네이버도 그렇고 HTTP/1.1은없고, HTTP/2와 HTTP/3밖에 안보입니다.