正向代理
server {
resolver 114.114.114.114; #指定DNS服务器IP地址
listen 80;
location / {
proxy_pass http://$host$request_uri; #设定代理服务器的协议和地址
proxy_set_header HOST $host;
proxy_buffers 256 4k;
proxy_max_temp_file_size 0k;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
}
}
server {
resolver 114.114.114.114; #指定DNS服务器IP地址
listen 443;
location / {
proxy_pass https://$host$request_uri; #设定代理服务器的协议和地址
proxy_buffers 256 4k;
proxy_max_temp_file_size 0k;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
}
}
server {
listen 8001;
server_name 9.188.96.17;
access_log logs/fagaiwei_access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-ded-For $proxy_add_x_forwarded_for;
proxy_pass http://59.206.96.194:10013;
client_max_body_size 50m;
proxy_connect_timeout 75s;
proxy_read_timeout 75s;
proxy_send_timeout 75s;
}
}
location /edmpw {
alias /app/software/nginx/html/edmpw/;
index index.html index.htm;
try_files $uri $uri/ /edmpw/index.html; # 解决页面刷新 404 问题
proxy_set_header X-Forward-For $remote_addr;
}
location /edmpw-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://127.0.0.1:9380/;
}
反向代理
http{
upstream test {
server 192.168.10.20;
}
server {
listen 80;
server_name 192.168.10.20;
index index.html index.htm;
location / {
proxy_pass http://test;
proxy_set_header Host $host;
proxy_set_header Host $http_host;
}
}
}
stream {
log_format basic '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time';
access_log logs/stream-access.log basic;
upstream gjj_jining {
server 10.28.130.29:51003 max_fails=3 fail_timeout=60s;
}
server {
listen 8003;
proxy_pass gjj_jining;
proxy_timeout 60s;
}
}
#################################################
max_fails=3 fail_timeout=60s的作用:
60秒内,若出现3次业务失败的问题,则将该负载节点置为不可用,60秒内不再向该节点负载任何请求;另外3次业务失败中,会将在该节点失败的业务转发到另外一个节点中,不会影响业务。
Nginx只有当有访问时后,才发起对后端节点探测。如果本次请求中,节点正好出现故障,Nginx将把请求转交给接下来的节点处理。所以不会影响到这次请求的正常进行。
#################################################