"개발용으로 셋팅하는데 귀찮으니 안해야지"라는 생각을 가지면 오만임.운영레벨로 승격하지 않은 개발이나 스테이징 서버에서 알수없는 트래픽과 CPU 스파이크를 경험하게 될 것이고 웹서버 액세스 로그를 보면 해킹 스캔 기록이 엄청나게 발생하는것을 목도하게 될 것.Ubuntu OS 기반에 Nginx 웹서버 선택하여 진행함.설정 요소들Nginx 웹서버, WAF, UFW 방화벽, Fail2Ban, Ubuntu 자동 업데이트Nginx 가상호스트 설정http { #...... # Declare 단일 클라이언트 ip 주소의 모든 페이지에 대해 1초에 5건의 요청 처리로 제한 limit_req_zone $binary_remote_addr zone=badbot:10m rate=10r/s; limit_r..
Nginx 웹프록시를 주로 사용하는데 AWS에서 PoC 운영중이던 서비스를 비용 절감 위해 오라클 클라우드 무료 서버로 옮기고 Whatap 모니터링 걸어놓고 놔뒀는데 트래픽이 없을게 확실한 서버에서 이상하게도 CPU 로드 Whatap Alert이 간간히 발생하여 Nginx access 로그를 확인해보니 해커 스캔봇이 열심히 활동하여 쓸데없고 보안에 해로운 트래픽을 유발시키고 있었음. 하여, WAF(웹어플리케이션 방화벽) 도입을 검토하게 되었고 리서치 후 사용 비용이 없는 Modsecurity로 결정.Modsecurity를 Apache 웹서버는 매우 쉽게 붙일 수 있는데 그에 비해 Nginx는 번거롭고 정리된 최근 레퍼런스 너무 없음.Nginx + Modsecurity 조합을 로컬 개발 환경인 macOS에..
Nginx access.log 확인 해서 .env 또는 .git 등 해커의 스캔 기록 있다면 반드시 적용을 권장함.SafeLine GitHub - chaitin/SafeLine: SafeLine is a self-hosted WAF(Web Application Firewall) / reverse proxy to protect your web apps fromSafeLine is a self-hosted WAF(Web Application Firewall) / reverse proxy to protect your web apps from attacks and exploits. - chaitin/SafeLinegithub.comGithub Star: 16.6K (2025-05 기준)중국인 메인테이너홈페이지,..
사전 요구 사항1. Nginx latest 를 official repository 로부터 설치 nginx.org/en/linux_packages.html#mainline2. 사전요구 패키지 설치 * Ubuntu$ apt-get install -y apt-utils autoconf automaker build-essential git libcurl4-openssl-dev libgeoip-dev liblmdb-dev ibpcre++-dev lib tool libxml2-dev libyans-dev pkgconf wget zlib1g-dev * CentOS$ yum groupinstall -y "Development Tools"$ yum install -y http httpd-devel pure pure-de..
공식 문서에는 NginX 설정이 나옴 http://socket.io/docs/using-multiple-nodes/다중 노드들 사용#고 load balancing고정 로드밸런싱If you plan to distribute the load of connections among different processes or machines, you have to make sure that requests associated with a particular session id connect to the process that originated them.This is due to certain transports like XHR Polling or JSONP Polling relying on firing sever..
NginX 는 중첩 if 문(if 문 안에 또 if문)을 허용하지 않기에아래처럼 변수에 값을 할당하고 합한것을 마지막에 비교하는 방식으로 조건문을 설정한다.location ~ \.php$ { # Open CORS set $openCORS N; # *.도메인.com 이면 변수에 D 할당 if ($http_origin ~* (https?://[^/]*\.도메인\.com(:[0-9]+)?)) { set $openCORS "D"; } set $request_url $request_uri; if ($request_uri ~ ^/api/(.*)$) { set $openCORS "${openCORS}+API"; } if ($openCORS = "D+API") { add_header 'Access-Control-All..
공식 설치 문서는 http://nginx.org/en/linux_packages.htmlRHEL/CentOS 에 yum 저장소를 셋업하려면 vi /etc/yum.repos.d/nginx.repo 하고 아래의 내용을 입력:[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1 “OS” 는 리눅스 배포판에 따라 “rhel” 또는 “centos” 으로 치환하고 “OSRELEASE” 는 버젼에 맞춰 5.x, 6.x, or 7.x 로 치환.위와 같이 했으나 설치 안됨https://ma.ttias.be/enable-http2-in-nginx/ 의 조언에 따라 아래와 같이 ..
1. NginX 웹서버의 사용자 계정 확인$ cat /etc/nginx/nginx.conf | grep useruser nginx음... nginx 로군. 2. 웹서버 루트 실제 경로 확인/home 아래 호스팅 계정이라 가정$ vi /etc/nginx/conf.d/vhost.confserver { ...... root /home/some/public_html ......} 3. 퍼미션과 owner 확인$ namei -om /home/some/public_html접근 권한을 확인하고 chmod, chown 사용하여 적절히 변경한다. 4. 퍼미션 등 확인웹서버 로그 설정 확인하여 tail 명령 실행$ tail -f /var/log/nginx/some_error.log브라우저로 사이트 접속 시도위 tail 명..
Homestead 디렉토리에서$ vagrant ssh아래 파일/폴더 백업 /etc/nginx/nginx.conf /etc/nginx/conf.d/* /etc/nginx/sites-*/*아래 문서 참고하여 설치 진행 http://nginx.org/en/linux_packages.html#mainline키 다운받아 추가하는 과정 필수https://ma.ttias.be/enable-http2-in-nginx/ 이 문서도 참고충돌 문구 발생하면apt-get purge nginx nginx-common/etc/nginx/sites-* 폴더 존재 확인제거되었다면백업했던 파일들로 복구하고vagrant ssh 에서 exit 후vagrant provision$ sudo vi /etc/nginx/nginx.confincl..
- Total
- Today
- Yesterday
- iis
- CSS
- Mac
- JSON
- centos
- iphone
- laravel
- Debug
- nodejs
- Wordpress
- PHP
- 한글
- JQuery
- mssql
- IE
- 워드프레스
- javascript
- ASP
- Prototype
- git
- IOS
- Linux
- classic asp
- 안드로이드
- Android
- nginx
- sencha touch
- Docker
- macos
- API
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |