전체 글 (129) 썸네일형 리스트형 🚫 Nginx 413 Request Entity Too Large 오류 해결 방법 웹 서버에서 파일 업로드 또는 대용량 데이터를 전송하려 할 때, 아래와 같은 오류를 마주한 적 있으신가요?413 Request Entity Too Large이는 클라이언트가 서버로 보낸 요청 본문(request body)의 크기가 Nginx가 허용하는 최대 크기를 초과했을 때 발생하는 오류입니다. 기본적으로 Nginx는 1MB까지만 허용합니다.📌 에러 상황 예시저는 /api/parse 라는 경로로 Flask 앱에 요청을 보내는 환경에서 이 문제를 겪었습니다. POST 요청으로 PDF나 이미지 같은 데이터를 전송할 때 발생했죠.location /api/parse { proxy_pass http://localhost:8088/parse; ...}🔧 해결 방법: client_max_body_si.. Laravel 외래 키 삭제 처리 – onDelete() 옵션 정리 Laravel에서 테이블 간 외래 키(foreign key)를 설정할 때, 부모 테이블의 데이터가 삭제되면 자식 테이블에 어떤 영향을 줄지 설정할 수 있습니다. 이때 사용하는 메서드가 바로 onDelete()입니다.이 글에서는 Laravel 마이그레이션에서 외래 키 삭제 동작을 제어하는 방법을 간단히 소개합니다.🧨 기본 예시$table->foreignIdFor(ProductGroup::class) ->nullable() ->constrained() ->onDelete('set null');위 코드는 다음을 의미합니다:product_group_id 컬럼은 product_groups 테이블의 id를 참조합니다.부모 데이터가 삭제되면 외래 키 값을 null로 변경합니다.⚙️ onDelete 옵션 종류옵션설명.. Laravel Sail + Nginx 리버스 프록시 환경에서 Mixed Content 오류 해결기 Laravel을 Docker 기반의 Sail로 운영하고, Nginx를 호스트 서버(Ubuntu)에 리버스 프록시로 구성해 SSL을 적용했는데도, 브라우저에서 Mixed Content: HTTP 리소스를 요청했기 때문에 차단됨이라는 경고를 받았습니다.빌드 결과에는 HTTPS가 잘 적용되어 있었는데, 도대체 왜 이런 문제가 발생했을까요?💡 문제 상황 요약Laravel Sail은 Docker 컨테이너 내부에서 실행호스트 서버는 Nginx를 설치해 SSL(HTTPS) 적용 및 리버스 프록시 설정vite.config.js에 base: 'https://도메인/build/' 명시하고, NODE_ENV=production으로 빌드도 완료public/build/manifest.json에도 http://는 없음그럼에도 .. [SSH] 접속 오류 해결: “REMOTE HOST IDENTIFICATION HAS CHANGED!” 메시지가 떴을 때 서버에 SSH 접속을 시도했는데 아래처럼 무시무시한 경고 메시지를 본 적 있으신가요?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Someone could be eavesdropping on you right now (man-in-the-middle attack)!...Host key verification failed.처음 보는 분들은 해킹인가? 싶은 생각이 드실 수도 있습니다. 이 글에서는 이 경고 메시지가 왜 뜨는지, 실제로 위험한 .. MySQL에서 특수문자(①~⑩) 검색 및 제거하는 방법 (버전별 정리) 데이터베이스를 사용하다 보면 데이터 정제가 필요한 경우가 자주 발생합니다. 특히 사용자 입력값이나 외부 데이터에 ①②③④⑤⑥⑦⑧⑨⑩ 같은 불필요한 특수문자가 포함되어 있을 수 있습니다.이런 특수문자를 검색하고 제거하는 방법을 MySQL 8.0 이상 / 이하 버전으로 나누어 정리해 보겠습니다.MySQL 8.0 이상 사용 시MySQL 8.0 이상에서는 정규표현식 함수 REGEXP_REPLACE()와 REGEXP 검색을 사용할 수 있어 훨씬 깔끔하게 처리할 수 있습니다.1. 특수문자 포함 여부 검색SELECT * FROM your_table WHERE your_column REGEXP '①|②|③|④|⑤|⑥|⑦|⑧|⑨|⑩'; REGEXP는 해당 정규표현식에 하나라도 일치하면 해당 행을 반환합니다.2. 특수문자.. Git에서 'Permission denied' 오류 해결 방법 Git을 사용하다 보면 cannot update the ref 'refs/remotes/origin/dev': unable to append to '.git/logs/refs/remotes/origin/dev': Permission denied 오류를 만날 수 있습니다. 이는 파일 접근 권한 문제로 인해 발생하는데, 이를 해결하는 방법을 단계별로 정리해 보았습니다.1. 파일 권한 확인 및 수정우선, 문제가 발생한 파일의 소유권과 권한을 확인해야 합니다.ls -l .git/logs/refs/remotes/origin/dev결과를 확인했을 때, 파일 소유자가 현재 로그인한 사용자와 다르다면 소유권을 변경해야 합니다.sudo chown -R $(whoami) .git/또는 Git 폴더 전체에 쓰기 권한을 부여.. Fail2Ban으로 리눅스 서버 보안 강화하기 🔒 Fail2Ban이란?Fail2Ban은 리눅스 서버 보안을 강화하는 침입 방지 도구입니다. 특정 패턴(예: 로그인 실패, 404 에러, 악성 봇 탐색 등)이 감지되면 자동으로 IP를 차단하는 기능을 제공합니다. 보통 SSH, Nginx, Apache, FTP, Postfix(메일 서버) 등에서 보안 위협이 되는 IP를 차단하는 데 사용됩니다.🚀 Fail2Ban 설치 및 기본 설정✅ 1. Fail2Ban 설치Ubuntu/Debiansudo apt update && sudo apt install fail2ban -yCentOS/RHELsudo yum install epel-release -ysudo yum install fail2ban -yArch Linuxsudo pacman -S fail2ban✅ .. Laravel에서 Custom Role Middleware 만들기 Laravel에서 사용자 권한(Role)에 따라 접근을 제한하려면 기본적인 인증 미들웨어 외에 추가적인 Role 미들웨어를 구현해야 합니다. 이번 글에서는 Custom Role Middleware를 생성하고 적용하는 방법을 단계별로 설명하겠습니다.1. Middleware 생성먼저 터미널에서 아래 명령어를 실행하여 RoleMiddleware를 생성합니다.php artisan make:middleware RoleMiddleware이 명령을 실행하면 app/Http/Middleware/RoleMiddleware.php 파일이 생성됩니다.2. Role Middleware 구현app/Http/Middleware/RoleMiddleware.php 파일을 열고 아래와 같이 수정합니다.route('login'); .. 이전 1 2 3 4 5 6 7 8 ··· 17 다음