nginx 역방향 에이전트 설정 상세 설명
배치 디 렉 터 리 아래 conf 하위 디 렉 터 리 의 nginx. conf 파일 (예: / opt / nginx / conf / nginx. conf) 내용 을 수정 하여 관련 설정 을 조정 할 수 있 습 니 다.
기본 설정 에 있 는 설명 내용 을 삭제 합 니 다.
grep -v "#" /opt/nginx/conf/nginx.conf > /opt/nginx/conf/nginx.confbak
원래 의 설정 변경 이름 을 백업 합 니 다. 뒤에 설명 내용 이 없 는 nginx. confbak 변경 이름 은 nginx. conf 입 니 다.
역방향 프 록 시 설정 예제:
# Nginx
user nginx nginx;
#nginx , CPU
worker_processes 1;
# ,[ debug | info | notice | warn | error | crit ]
error_log logs/error.log info;
#
pid run/nginx/nginx.pid;
# nginx , ( ulimit -n) nginx , nginx , ulimit -n 。
worker_rlimit_nofile 65535;
#
events {
#use epoll;
# ,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
epoll Linux 2.6 I/O , FreeBSD ,
kqueue 。window 。
:
apache ,nginx , 。
A)
Select、poll , ,nginx select poll
B)
Kqueue: FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 MacOS X. MacOS X kqueue 。
Epoll: Linux 2.6 。
/dev/poll: Solaris 7 11/99+,HP/UX 11.22+ (eventport),IRIX 6.5.15+ Tru64 UNIX 5.1A+。
Eventport: Solaris 10。 , 。
# ( = * )
worker_connections 4000;
}
# http
http {
# Nginx
server_tokens off;
server_tokens 404 Nginx 。 ,
××× Nginx , nginx.conf http server_tokens off 。
include mime.types;#
default_type application/octet-stream;#
#charset utf-8; #
server_names_hash_bucket_size 128; # hash
client_header_buffer_size 32k; #
#access
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
autoindex off;# on, , 。
#
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'$upstream_addr $upstream_response_time $request_time ';
log_format log404 '$status [$time_local] $remote_addr $host$request_uri $sent_http_location';
:
$remote_addr $http_x_forwarded_for ip ;
$remote_user: ;
$time_local: ;
$request: url http ;
$status: ; 200,
$body_bytes_sent : ;
$http_referer: ;
$http_user_agent: ;
web , IP , $remote_add
IP iP 。 http ,
x_forwarded_for , IP 。
access_log logs/nginx/access.log main;
access_log logs/host.access.404.log log404;
log_format , access_log ;
sendfile on; # ,sendfile nginx sendfile
, on, IO ,
off, I/O , 。 :
off。
#tcp_nopush on; #
#tcp_nodelay on; #
keepalive_timeout 65; ## keep-alive 。 。 ngnix
,
client_header_timeout 10;
client_body_timeout 10; # , 60s
reset_timedout_connection on; # , nginx , socket
send_timeout 10; # . , , 60s
client_header_timeout client_body_timeout # ( ) 。 。
#FastCGI : , 。
,
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
#gzip
gzip on; # gzip
gzip_min_length 1k; #
gzip_buffers 4 16k; #
gzip_http_version 1.0; # ( 1.1, squid2.5 1.0)
gzip_comp_level 2; #
gzip_types text/plain application/x-javascript text/css application/xml;
# , textml, , , warn。
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m; # IP
#
server {
listen 80;# 80
# ,
server_name 10.40.50.52;
#client_header_buffer_size 4k; 。
, 1k,
1k, 。 getconf PAGESIZE
。
large_client_header_buffers 4 128k; 。nginx
client_header_buffer_size buffer header , header ,
large_client_header_buffers 。
client_max_body_size 300m; # (
nginx , , nginx
。 413 Request Entity Too Large)
client_body_buffer_size 128k; #
proxy_connect_timeout 600; #nginx ( , )
proxy_read_timeout 600; # , ( , )
proxy_send_timeout 600; # ( , )
proxy_buffer_size 64k; # (nginx)
proxy_buffers 4 32k; #proxy_buffers , 32k ,
proxy_busy_buffers_size 64k; # (proxy_buffers*2)
proxy_temp_file_write_size 64k; # , ,
upstream
——————————————————————————————————————————————————————————
#proxy_buffers 4 256k;
# ( ) , ,
# 4k 8k
#proxy_busy_buffers_size 256k;
#proxy_temp_file_write_size 256k;
# proxy_temp_path ,
#proxy_temp_path /data0/proxy_temp_dir;
#proxy_temp_path proxy_cache_path
#proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
# 200MB,1 , 30GB。
#client_body_buffer_size 512k;
# , 256k, , firefox IE ,
256k , 。 , client_body_buffer_size ,
,8k 16k, 。
# firefox4.0 IE8.0, ,200k , 500 Internal Server
Error
#proxy_intercept_errors on;
# nginx HTTP 400 。
——————————————————————————————————————————————————————————
# Nginx
location /nginxstatus{
stub_status on;
access_log on;
auth_basic "nginxstatus";
auth_basic_user_file htpasswd;
#htpasswd apache htpasswd 。
}
————————————————————————————————————————————————————————————————————
Active connections: .
Server accepts handled requests: Nginx 655 , 655 (
), 1985 .
Reading: Nginx Header .
Writing: Nginx Header .
Waiting: keep-alive , active – (reading + writing),
Nginx , .
, , ,Waiting . reading +writing
, , .
————————————————————————————————————————————————————————————————————
#hone
location /hone {
index index.html index.htm index.jsp;
proxy_pass http://11.33.22.56:8080/hone;
proxy_set_header X-Real-IP $remote_addr; # IP
proxy_set_header REMOTE-HOST $remote_addr; #
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # ip
proxy_set_header Host $host:$server_port;
}
#
location /GR133 {
index index.html index.htm index.jsp;
proxy_pass http://192.168.133.12:8585/GR133;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
}
location /GR133File {
index index.html index.htm index.jsp;
proxy_pass http://192.168.133.12:8585/GR133File;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port;
}
#
location ~ ^/(WEB-INF|META-INF)/{
deny all;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include /opt/nginx/conf/vhost/*.conf; #
}
분석:
1.proxy_set_header X-real-ip $remote_addr;
web ip, $remote_addr X-Real-IP ,
,$remote_addr ip,
IP, IP;
remote_addr IP
remote_host
, ip, , 。
2.proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
X-Forwarded-For , squid , HTTP
IP Web rfc , X-Forwarded-For ,
proxy , client1, proxy1, proxy2, , rfc
, , , proxy ,
proxy ip 。 request.getAttribute("X-Forwarded-For")
ip, ip, nginx :
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
$proxy_add_x_forwarded_for X-Forwarded-For , , ,
X-Forwarded-For , X-Forwarded-For
$proxy_add_x_forwarded_for , nginx ip , ,
web request.getAttribute("X-Forwarded-For") ip
nginx ip。
$proxy_add_x_forwarded_for ?
$proxy_add_x_forwarded_for "X-Forwarded-For", $remote_addr ,
。
, web , nginx ,www.linuxidc.com web
nginx:
nginx ,
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
$proxy_add_x_forwarded_for "X-Forwarded-For" , $remote_addr,
$remote_addr ip, ,X-Forwarded-For ip 。
nginx,
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
$proxy_add_x_forwarded_for ,X-Forwarded-For ip,$remote_addr
nginx ip , X-Forwarded-For “
ip, nginx ip”, 。
$http_x_forwarded_for , X-Forwarded-For,
, X-Forwarded-For , proxy_set_header X-Forwarded-For $http_x_forwarded_for
,web request.getAttribute("X-Forwarded-For") null。
request.getAttribute("X-Forwarded-For") ip, proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
ip。
/ opt / nginx / 디 렉 터 리 에 htpasswd 파일 만 들 기:
htpasswd 명령 으로 사용자 추가
htpasswd -bc conf/htpasswd nginx usernginx19
/ opt / nginx / conf 디 렉 터 리 에 passwd 파일 을 만 듭 니 다. 사용자 이름 nginx, 비밀번호: usernginx 19, 기본적으로 MD5 암호 화 방식 을 사용 합 니 다.
다음으로 전송:https://blog.51cto.com/meiling/1978482
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.