欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx 代理ip 和域名

程序员文章站 2022-06-11 13:28:33
...

项目中碰到linux 服务器部署项目 访问后台的拦截代理

使用nginx来做 代理ip和代理域名是不同的

主要在  proxy_set_header Host 

在代理ip时 对应的值为

proxy_set_header Host $host;

代理域名的时候值为你的域名

proxy_set_header Host "www.natappfree.cc";

host详解

1、 proxy_set_header Host $http_host;
不改变请求头 。
2、proxy_set_header Host host;如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。这种情况下,使用host;如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。 这种情况下,使用host;如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。这种情况下,使用host变量它 的值在请求包含“Host”请求头时为“Host”字段的值,在请求未携带“Host”请求头时为虚拟主机的主域名;
3、proxy_set_header Host host:host:host:proxy_port;
服务器名可以和后端服务器的端口一起传送:
4、如果某个请求头的值为空,那么这个请求头将不会传送给后端服务器:
proxy_set_header Accept-Encoding “”;
5、用户真实的ip地址转发给后端服务器
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;

具体的值得详解参考https://blog.csdn.net/tianyekpp/article/details/71209720?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

还有就是  proxy_pass http://www.natappfree.cc/;注意无论是ip还是域名  后面都要加斜杠  /  重点

下面直接上代码

域名的

server {
  listen 8008;
  server_name localhost;
  access_log  logs/www_access.log  main;
  index admin.html index.htm index.jsp;
  root /data/ptg_avue/;
  
  #error_page 404 /404.html;
  #error_page 502 /502.html;
  location / {
	}

location ^~/api {
           proxy_set_header Host "www.www.com";
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_buffering off;
           rewrite ^/api/(.*)$ /$1 break;
           proxy_pass http://www.www.com/;
      }
}

ip的

server {
  listen 8090;
  server_name localhost;
  access_log  logs/www_access.log  main;
  index admin.html index.htm index.jsp;
  root /data/ptg_avue/;
  
  #error_page 404 /404.html;
  #error_page 502 /502.html;
  location / {
	}

location ^~/api {
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_buffering off;
           rewrite ^/api/(.*)$ /$1 break;
           proxy_pass http://localhost:8001;
      }
}

 

相关标签: nginx nginx