본문 바로가기

프로그래밍

nginx 배드 봇 차단(badbot block) 간단하게 설정하기 웹사이트에 별 것이 없어도 봇들이 항상 트래픽을 일으켜서 대역폭이랑 리소스를 낭비하게 됩니다. 특히 이미지가 많은 워드프레스 사이트들 cdn 안 쓰면 짜증 날 정도로 봇들이 많이 접근해요. 배드봇 블럭 모듈의 깃헙 주소입니다. 간단하게 설정할 수 있습니다. https://github.com/mariusv/nginx-badbot-blocker mariusv/nginx-badbot-blocker Block bad, possibly even malicious web crawlers (automated bots) using Nginx - mariusv/nginx-badbot-blocker github.com README.md 의 설정 내용을 간단하게 옮겨봅니다. root 계정으로 작업 하세요. 1) git cl.. 더보기
클라우드 서버 사용시 인바운드 아웃바운드 트래픽 개념, 과금 기준 아마존 AWS, MS Azure, 네이버 ncloud, kt cloud 같은 대세가 된 클라우드 서버를 사용할 때 네트워크 비용에 대해서도 반드시 고려를 해야합니다. 물론 일반 유저들이 테스트 용도로 서버를 생성해서는 99% 네트워크 요금이 부과되는 경우가 없습니다. 왜냐하면 서버 비용에 어느 정도의 기본적인 네트워크 트래픽을 무료로 제공해 줍니다. 대부분의 회사가 인바운드 트래픽은 무료, 아웃바운드 트래픽에 대해서 과금을 하는데 개념이 생소할 수 있지만 간단합니다. 인바운드 트래픽은 외부 인터넷 -----> 클라우드 서버로 들어오는 트래픽. 아웃바운드 트래픽은 클라우드 서버 -----> 외부 인터넷으로 나가는 트래픽. 회사마다의 정책이 다르고 서버의 등급마다 제공해주는 트래픽 양은 조금씩 다르기 때문에.. 더보기
최신 MySQL 설치 및 접속, 초기 패스워드 설정 CentOS 기준입니다. 7, 8 버전에 맞춰서 아래 파일을 다운로드 한다. CentOS 7 # wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm CentOS 8 # wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm 다운로드 받은 rpm 설치 # rpm -Uvh mysql80-community-release-el7-3.noarch.rpm 혹은 # rpm -Uvh mysql80-community-release-el8-1.noarch.rpm /etc/yum.repos.d/mysql-community.repo 수정 [mysql80-community.. 더보기
certbot letsencrypt 와일드카드 무료 인증서 발급하기 Certbot Different Internet services are distinguished by using different TCP port numbers. Unencrypted HTTP normally uses TCP port 80, while encrypted HTTPS normally uses TCP port 443. To use certbot –webroot, certbot –apache, or certbot –nginx, you should h certbot.eff.org Let's Encrypt - 무료 SSL/TLS 인증서 letsencrypt.org CertBot은 LetsEncrypt 인증서를 발급받을 수 있는 오픈소스 도구입니다. 예전과 다르게 이제 와일드카드 도메인 인증서도 발급.. 더보기
맥에서 파일 이동하기 붙여넣기(복사아님) 맥 환경에 적응한지 한 두달 쯤 됐네요. 윈도우에서는 ctrl+c, ctrl+v 로 쉽게 파일을 이동 시킬 수 있습니다. 하지만 맥에서는 오려두기라는 이름으로 cmd+x 가 있지만 파인더 메뉴에서 봐도 항상 disable 되어 있네요. 파일을 선택한 후 cmd+x 해서 cmd+v 해도 동작하지 않습니다. 요점만 알려드리면 파일을 선택한 후 cmd+c 하고, option+cmd+v 하시면 됩니다. 기본적으로 파일을 선택한 뒤 cmd+c 다음에 원하는 곳에 cmd+v 하면 복사 윈도우에서 말하는 이동, 기존 위치에 있던 파일을 삭제하려면 option+cmd+v 더보기
카카오톡 프사 랭킹 사이트 내 프사 몇 점일까? 심심해서 만들어 본 사이트... 카카오톡 로그인 API 를 사용해서, 다른 사람들의 카톡 프사를 보면서 점수를 남길 수 있고. 내 점수도 확인할 수 있다. 아직은 테스트 이미지를 왕창 넣어둠. 실제 유저들이 들어오면 테스트 이미지는 삭제해야지. https://feeling.buytoday.co.kr Feeling - 나의 프로필 이미지는 몇 점? 다른 사람들의 카카오톡 프로필 이미지에 평점을 남겨주세요. 그리고 나의 프로필 이미지는 몇 점인지 확인하세요. feeling.buytoday.co.kr 더보기
워드프레스 Google Kit - 애드센스 연결 오류: 요청 매개변수가 비었습니다:accountID. 간만에 워드프레스 사이트를 하나 다시 세팅을 했는데, 구글 킷을 연결하니 애드센스에서 오류가 뜬다. 사이트 속도재는 플러그인도 그렇고, 어 뭐지? 열심히 구글링 해서 몇가지 적용해보니깐, 되지 않는다. 이럴 때는 바로 워드프레스 관리 기능 중에서 사이트 상태을 확인해보면 된다. 내 사이트에서는 rest api가 동작하지 않는다며 경고가 뜬 상태. 이유는 검색엔진에 노출이 쉽도록 도메인/카테고리/글제목 형식으로 URL을 세팅해놨는데, 이걸 위해서는 nginx 에서 간단히 설정해주는 것이 있다. 흠, 분명 그것도 해뒀는데 왜 rest api 가 동작을 안하지? 아, 오타다... /index.php?args => /index.php?$args 수정하니깐 잘 동작한다. 이 부분은 nginx -t 로 검사를 했는.. 더보기
node.js socket.io 삽질 1편 - TypeError: callback is not a function 회사에서 신규 게임으로 카지노 서버 쪽을 개발하고 있음. 먼저 룸 기반의 간단한 게임으로 만들려고 하기에 node.js, socket.io를 이용해서 개발을 시작함. 아무래도 처음으로 서버를 node.js 로 만들어보는거라서, 많은 예제들을 따라해 보면서 하나 둘 모듈들을 테스트 해보고 이제 본 작업에 들어감. 일주일간 서버, 클라 프로토콜 정의부터 같이 하고 각각 먼저 몇일 테스트 삼아 구현해보기로 함. 문제1. 몇 가지 예제들을 해보고 직접 간단한 룸 기반의 구조를 만들어서 테스트를 해보려다가 직접 테스트용 클라 코드를 매번 작성하기가 귀찮아 테스트 툴들을 찾아봄. 근데 테스트 툴 들이 다 안돌아감. 뭐지??? 쓰는 사람 많을텐데 왜??? 알고 보니 걔네들은 socket.io 2.x 버전만 호환됨. .. 더보기