일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS
- ubuntu
- laravel
- tool
- Git
- redis
- 맛집
- JVM
- elasticsearch
- Web Server
- Oracle
- javascript
- jsp
- it
- jenkins
- java
- devops
- springboot
- php
- Design Patterns
- ReactJS
- 요리
- Spring Boot
- Gradle
- Spring Batch
- linux
- db
- MySQL
- Spring
- IntelliJ
- Today
- Total
목록Web Server (14)
아무거나
특정 url path에 접근할 때 서버 경로에 있는 파일 불러오기 [nginx.conf] ... server { ... # 해당 http://localhost/upLoadFile/file.jpg 에 접근하면 해당 file.jpg 파일로 접근할 수 있다. location /upLoadFile { alias /home/bkjeon/files; } ... } ...
apache restart와 graceful의 차이 apache 를 재시작하는 방법으로는 크게 restart 와 graceful 이 있습니다. 재시작하는건 동일하지만 약간의 차이가 있습니다. restart (kill -HUP) restart 의 경우 apache 의 모든 프로세스를 종료 시키고 재시작합니다. stop 한후 start와 동일합니다. 완전한 종료는 되지만 서비스 끊김이 발생합니다. graceful (kill -USR1) graceful 의 경우 접속된 컨넥션은 유지하고 그외 apache 모든 프로세스를 종료하고 재시작합니다. 이때 세션의 종료 없이 설정파일을 불러서 재실행합니다. 운영중인 서버에 작업을 하고 재시작할때는 restart 보다는 graceful 옵션을 사용하는걸 추천합니다.
웹 서버 및 WAS 윗단에 ELB일 경우 client IP 식별(XFF) ** X-Forwarded-For(XFF) 란? XFF는 HTTP Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 표준입니다. 1. Apache - LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %{X-Forwarded-For}i" combined 2. Nginx - http { .... log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_us..
아파치 로그에 로드밸런서 IP밖에 찍히지 않을 때 실제 클라이언트의 IP주소를 알고 싶다. 1. 사전작업 - 로드밸런서에 클라이언트 IP를 X-Forwarded-For 헤더 정보로 넘겨주는 설정이 되어 있어야 한다. 2. 아파치 설정 - vi /etc/apache2/apache2.conf * 아래 예시에는 기존의 combined 라인을 주석처리하고 %h를 %{X-Forwarded-For}i로 변경하였다. [내용수정] LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %{X-Forwarded-For}i" combined #LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" ..
- sudo vi /etc/apache2/ports.conf - Listen 8080 // 파일에 Linsten 포트를 추가 후 저장합니다. - sudo vi /etc/apache2/sites-available/000-default.conf // 호스트 포트를 변경하기 위해 000-default.conf 파일을 수정 - -> // 80포트를 8080포트로 수정 후 저장 - 아파치 재시작
경로 : /etc/apache2/sites-available/000-default.conf ex ) 내용 추가 AllowOverride All ServerName localhost ServerAlias local.test.kr ServerAdmin webmaster@localhost DocumentRoot {소스경로} ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined #RewriteEngine On #RewriteCond %{HTTP_HOST} ^(www\.zooma\.kr$) #RewriteRule (.*) http://test.kr$1 [R=301,L] AllowOverride All ServerNa..
허용 HTTP 요청 크기를 초과할 경우 Nginx에서 해당 사이즈를 설정해주면 됩니다. ( Nginx는 기본 사이즈가 1MB로 설정되어 있습니다. ) 보통 /etc/nginx/nginx.conf에 정의되어있습니다. 아래를 참고하여 설정에 추가하면됩니다. server { ... client_max_body_size 10M; }
1. 스트레스 테스트를할 서버를 정한다. ( 대상 컴퓨터에서 명령어 top을 입력하여 확인 ) 2. 스트레스 테스트를할 서버에 접근할 유저 컴퓨터에 접속한다. ex) ssh -i ~/Documents/dev/key/{key파일이름} ubuntu@{접속할ip} 3. 접속을 하려고 연속클릭을 안하기위해 하는 방법 -> 사용자들이 많이 접속하게하는 시뮬레이션 프로그램 설치 - sudo apt-get update - sudo apt-get install apache2-utils 4. ab 프로그램 사용(apache에서 만든 부하 발생기임) - ab -n 400 -c 1 {테스트할ip} // 주의는 http://127.0.0.1/ 앞에 http://랑 끝에 / 는 무조건 있어야된다. ex) -n requests ..
현상 : 원하는 경로에 특정 IP만 허용시킬려고 하는데 윗단에서 ELB가 돌고있어서 client IP를 가져오지 못하는 현상X-Forwarded-For ex) SetEnvIf X-Forwarded-For 52.79.85.217 allow_ip SetEnvIf X-Forwarded-For 61.38.173.92 allow_ip SetEnvIf X-Forwarded-For 221.154.188.23 allow_ip SetEnvIf X-Forwarded-For 221.154.188.23 allow_ip SetEnvIf X-Forwarded-For 183.102.146.235 allow_ip SetEnvIf X-Forwarded-For 119.197.117.214 allow_ip SetEnvIf X-Forwar..
Nginx 리버스 프록시를 활용한 정적 리소스 캐시 리버스 프록시란? 정적 자원(static resource) 캐시 proxy.conf 추가 // path: vi /etc/nginx/conf.d/proxy.conf // css, js, gif, png, jpg, jpeg 파일을 전부 캐시한다. (바뀐 파라미터에 따라서 전부 캐시하게 된다.) server { ... location ~* \.(?:css|js|gif|png|jpg|jpeg)$ { proxy_pass http://127.0.0.1:8080; proxy_cache_valid 200 60m; proxy_cache cache_zone; expires 1y; access_log off; add_header X-Proxy-Cache $upstream_..