ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Nginx 反向代理

2021-11-01 16:35:28  阅读:172  来源: 互联网

标签:http 代理 192.168 server Nginx 1.100 反向 proxy location


# Nginx 反向代理
# 反向代理模块是由ngx_http_proxy_module进行解析的
# proxy_pass指令:用来设置被代理服务器地址,可以是主机名称、IP地址加端口号形式。
# 位置:location
# 语法:proxy_pass URL;
server {
  listen 8080;
  server_name localhost;
  location /server {
    # proxy_pass http://192.168.1.100;
    proxy_pass http://192.168.1.100/;
    # 地址后面的斜杠加和不加的区别
    # 当客户端访问 http://192.168.1.100/server/index.html
    # 不加斜杠,就变成了 http://192.168.1.100/server/index.html
    # 加斜杠,就变成http://192.168.1.100/index.html
    # 也就是加了斜杠就是替换location中的/server为访问的uri。
  }
}

# proxy_set_header指令:该指令可以更改Nginx服务器接收到客户端请求头信息,然后将新的请求头发送给代理的服务器。
# 语法:proxy_set_header field value;
# 默认值:proxy_set_header Host $proxy_host;
# proxy_set_header Connection close;
# 位置:http、server、location
proxy_set_header username TOM;

# proxy_redirect指令:该指令是用来重置头信息中的"location"和"Refresh"的值的。
# 具体说明:假设192.168.1.100是代理服务器,192.168.1.200是服务器地址
# 当浏览器输入http://192.168.1.100/index.html访问服务器的时候,访问的是代理服务器,而实际上页面的内容是在服务器上
# 所以代理服务器需要代理访问http://192.168.1.200/index.html,
# 而http://192.168.1.200/index.html这时候处理结果是重定向到http://192.168.1.200/other.html
# 如果代理服务将192.168.1.200服务器返回的内容原封不动的返回到浏览器的话,那么浏览器的URL就会重定向到http://192.168.1.200/other.html了
# 这样就暴露了我们服务器的真实地址了
# proxy_redirect就是通过重置头信息中的"location"和"Refresh"的值来处理这个问题的。
# 语法:proxy_redirect redirect replacement;
#       proxy_redirect default;
#       proxy_redirect off;
# 位置:http、server、location
# 参数说明:redirect为目标location的值,replacement是要替换的值
# default:就是location块的uri变量的值。
# off:关闭proxy_redirect功能。
# 例子:
server {
  listen 8081;
  server_name 192.168.1.100;
  location / {
      proxy_pass http://192.168.1.200/
      proxy_redirect http://192.168.1.200/ http://192.168.1.100/;
  }
}
server {
  listen 80;
  server_name 192.168.1.100;
  location / {
    proxy_pass http://192.168.1.200:8080/
  }
}

 

标签:http,代理,192.168,server,Nginx,1.100,反向,proxy,location
来源: https://www.cnblogs.com/watermeloncode/p/15494302.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有