Nginx 实战配置细节解析

Nginx 配置细节解析

(1)反射

http {
    upstream nacos{
        	ip_hash;
	server 140.12.12.12:8848 max_fails=3 fail_timeout=10s;
	server 140.12.12.13.115:8848 max_fails=3 fail_timeout=10s;
   server 140.12.12.14:8848 max_fails=3 fail_timeout=10s;
    }
	server {
        listen 848;
        server_name 140.12.12.11;
        location /{
            proxy_pass http://nacos;
        }
	}
}

(2)本地存储

server {
	listen       80;
	server_name  localhost;
	location /publicspu {
			add_header Access-Control-Allow-Origin *;
			alias /opt/publicspu;
			allow all;
			autoindex on;
	}
}

(3)转发

server {
	listen       80;
	server_name  localhost;
        location /prod-api/ {
		proxy_set_header Host $host:$server_port;
		proxy_set_header X-Real-Ip $remote_addr;
		proxy_set_header X-Forwarded-For $remote_addr;
		proxy_pass http://127.0.0.1:8000/;

}

(4)配置443

server {
	listen       443 ssl;
	server_name  localhost;
	ssl_certificate      /usr/local/nginx/ssl/w.w.com_bundle.pem;
	ssl_certificate_key  /usr/local/nginx/ssl/w.w.com.key;
	ssl_session_cache    shared:SSL:100m;
	ssl_session_timeout  100m;
	ssl_ciphers  HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers  on;
}

(5)配置访问文件

server {
	listen       80;
	server_name  localhost;
	location /WWC {
		root   /static/wx/;
		index  index.html index.htm UbPnjFOuC.txt;
	}
}

(6)访问静态页

server {
	listen       80;
	server_name  localhost;
	location / {
		root   /static/user;
		index  index.html index.htm;
	}
}

(7)配置 grpc

以nacos集群为例

stream{
    upstream nacosgrpcc{
		server 140.0.0.1:4848;
	                server 140.0.0.2:4848;
	                server 140.0.0.3:4848;
	        }
	    server {
	        listen 4848;
	        proxy_connect_timeout 300s;
	        proxy_timeout 300s;
	        proxy_pass nacosgrpcc;
	    }
    upstream nacosgrpcb{
	server 140.0.0.1:4849;
                server 140.0.0.2:4849;
                server 140.0.0.3:4849;
      }
    server {
        listen 4849;
        proxy_connect_timeout 300s;
        proxy_timeout 300s;
        proxy_pass nacosgrpcb;
    }
}
http{
    upstream nacos{
        ip_hash;
		server 140.0.0.1:3848 max_fails=3 fail_timeout=10s;
		server 140.0.0.2:3848 max_fails=3 fail_timeout=10s;
        server 140.0.0.3:3848 max_fails=3 fail_timeout=10s;

    }
	server {
        listen 80;
        server_name 140.0.0.4;
        location /{
            proxy_pass http://nacos;
        }
	}
}

(8)项目部署好后,访问正常,然后登录,刷新了一下后,发现404了,重新进入连接还是正常,刷新就会404

在这里插入图片描述

server {
	listen       80;
	server_name  localhost;
	location / {
		root   /static/user;
		index  index.html index.htm;
		// 解决刷新404
		try_files  $uri $uri/ /index.html;
	}
}
或者
server {
	listen       80;
	server_name  localhost;
	location / {
		root   /static/user;
		index  index.html index.htm;
		if (!-e $request_filename) {
			rewrite ^(.*)$ /index.html?s=$1 last;
			break;
		}
	}
}

(9)获取用户真实IP

proxy_set_header Host h o s t : host: host:server_port;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

listen       443 ssl;
        server_name     dynet.top;
        ssl_certificate      /usr/local/nginx/ssl/ dynet.top_bundle.pem;
        ssl_certificate_key  /usr/local/nginx/ssl/ dynet.top.key;
        ssl_session_cache    shared:SSL:100m;
        ssl_session_timeout  100m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location /{
        proxy_pass http://172.0.0.3:9102/;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_buffering on;
        proxy_buffer_size 4k;
        proxy_buffers 8 1M;
        proxy_busy_buffers_size 2M;
        proxy_max_temp_file_size 0;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

01传说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值