티스토리 뷰
Environment
- Ubuntu 14.x
- nginx 1.12.0
- spring boot 1.5.3 : executeable jar deploy(using embeded undertow)
nginx 공식 사이트 : http://nginx.org/en/download.html
# 컴파일시 필요한 의존성에 걸린 패키지들을 설치 한다.
root@freecatz:~# apt-get install openssl openssl-devel pcre pcre-devel zlib zlib-devel
root@freecatz:~# wget http://nginx.org/download/nginx-1.12.0.tar.gz
root@freecatz:~# tar zxvf nginx-1.12.0.tar.gz
root@freecatz:~# cd nginx-1.12.0
root@freecatz:~# ./configure --prefix=/usr/local/nginx-1.12.0 --with-http_ssl_module --with-http_v2_module --with-openssl=/root/archive/openssl-1.0.2l
* 참고 : --with-openssl 옵션을 적용하는 경우 openssl 의 소스 경로를 넣어 주어야 한다.
root@freecatz:~# make && make install
root@freecatz:~# cp /usr/local/nginx-1.12.0/conf/nginx.conf /usr/local/nginx-1.12.0/conf/nginx.conf.ori
# 설정 파일 편집
root@freecatz:~# vi /usr/local/nginx-1.12.0/conf/nginx.conf
worker_processes auto; events { worker_connections 1024; use epoll; multi_accept on; } ... 중략 ... http { # 보안을 위해 서버 버전 정보 노출을 막는다. server_tokens off; sendfile on; client_max_body_size 10M; ... 중략 ... upstream undertow { ip_hash; server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=5s; server 127.0.0.1:8081 weight=1 max_fails=3 fail_timeout=5s; server 127.0.0.1:8082 weight=1 max_fails=3 fail_timeout=5s; } server { listen 80; server_name freecatz.pe.kr; # return 301 https://$server_name$request_uri; rewrite ^ https://$server_name$request_uri? permanent; } listen 443 ssl; server_name freecatz.pe.kr; # Chrome 콘솔에 "Error parsing header X-XSS-Protection: 1; mode=block, 1:mode=block: expected semicolon at character position 14. The default protections will be applied." 메세지 나타남. # add_header X-XSS-Protection "1; mode=block"; ssl on; ssl_certificate /etc/fullchain.pem; ssl_certificate_key /etc/privkey.pem; # 보안상의 이유로 SSLv2 SSLv3 은 사용 하지 않는 것이 좋다고 한다. TLSv1.3을 지원 하기 위해서는 OpenSSL 1.1.1 이상의 버젼이 필요 하다고 한다. ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; location / { charset utf-8; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-NginX-Proxy true; proxy_set_header X-Forwarded-Port $server_port; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_redirect off; proxy_pass http://undertow$request_uri; } # location / end } # server end ... 중략 ... |
# nginx 설정 파일 테스트
root@freecatz:~# nginx -t
# nginx 시작
root@freecatz:~# /usr/local/nginx-1.12.0/sbin/nginx
# nginx 종료
root@freecatz:~# /usr/local/nginx-1.12.0/sbin/nginx -s quit
# nginx 재시작
root@freecatz:~# /usr/local/nginx-1.12.0/sbin/nginx -s reload
- Total
- Today
- Yesterday
- Mobile
- Android
- Spring
- ssh
- MySQL
- place
- Security
- samba
- food
- Review
- web
- TIP
- Flutter
- devel
- Linux
- devtools
- springboot
- SSL
- Fun
- development
- Java
- kotlin
- JavaScript
- json parse
- gpkiapi
- HTTP
- dart
- 엘리스센터
- Compile
- 맛집
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |