当前位置: 首页 > news >正文

网站建设哪里比较好自己做小程序要钱吗

网站建设哪里比较好,自己做小程序要钱吗,免费流量网站推广,wordpress排行榜模板场景描述#xff1a; 访问路径#xff1a; A机器 - B机器的 -C虚拟机 #xff1a; A机器为客户端用户#xff0c;本地地址为 192.168.0.110 B机器为服务端反向代理服务器 本地地址为192.168.0.128 –#xff08;192.168.56.1#xff09; C机器为B主机安…场景描述 访问路径 A机器 - B机器的 -C虚拟机 A机器为客户端用户本地地址为 192.168.0.110 B机器为服务端反向代理服务器 本地地址为192.168.0.128 –192.168.56.1 C机器为B主机安装的linux虚拟机并安装了nginx 本地ip为**192.168.56.10** 从侧面反映了反向代理的好处直接从A是无法访问C的但是在B中做了反向代理 就能访问了保护了服务端的地址。而无法将C的ip暴露给客户端A 注意在B和C直接由于使用了虚拟机虚拟机的网关的ip为192.168.56.1 所以 在C端取到的上一层ip为192.168.56.1 目的 在C机器取到 A的ip地址并输出日志客户端的真实ip为192.168.0.110 B机器的nginx 配置(首层代理) location /bb/ {proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass http://192.168.56.10/cc/;}在B中的nginx 中 给请求设置了 header 。 X-Real-IP 和 X-Forwarded-For X-Real-IP 取得值是 r e m o t e a d d r 而 remote_addr 而 remotea​ddr而remote_addr为与主机B直连客户端A 的ip地址。 X-Forwarded-For 取得值是个用逗号分隔得多个值主要包括客户端X-Forwarded-For的值 与 $remote_addr 的值两部分用逗号分隔。 所以此时 X-Real-IP 为 192.168.0.110 X-Forwarded-For 为 ,192.168.0.110 此时客户端并未主动传 X-Forwarded-For 头。 proxy_set_header X-Real-IP $remote_addr; 这句的作用是将客户端的IP地址赋值给X-Real-IP请求头$remote_addr变量表示与nginx服务器直接连接的客户端或代理服务器的IP地址。这句一般用于第一层代理服务器以便后续的代理服务器能够获取到客户端的IP地址。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 这句的作用是将客户端请求头中的X-Forwarded-For和 r e m o t e a d d r 两部分用逗号分隔后赋值给 X − F o r w a r d e d − F o r 请求头 remote_addr两部分用逗号分隔后赋值给X-Forwarded-For请求头 remotea​ddr两部分用逗号分隔后赋值给X−Forwarded−For请求头proxy_add_x_forwarded_for变量表示客户端请求头中的X-Forwarded-For和$remote_addr两部分。这句一般用于非首层代理服务器以便将客户端和所有经过的代理服务器的IP地址都记录下来。 C中nginx 输出的log-format log_format main $http_x_forwarded_for|$realip_remote_addr|$http_x_real_ip|$remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for $upstream_addr $request_time $upstream_response_time ;C中nginx的配置 http {include /etc/nginx/mime.types;default_type application/octet-stream;proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# real_ip_header X-Forwarded-For;# set_real_ip_from 192.168.56.1;# real_ip_recursive on; }在这一层中 X-Real-IP 取到的是上层代理的地址也就是192.168.56.1 X-Forwarded-For 是上两层的地址 192.168.0.110192.168.56.1 这一层其实就一个值还是192.168.0.110在下一层才是这两个值这里有些歧义原因是这一层接收到值之后 还没有拼接本层获取上一层的地址。这一层只是待发送状态。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for 这个是将头拼接后发给下一层的。所以在下一层取到地址才是 192.168.0.110192.168.56.1 所以在c中的输出日志中打印的值为 192.168.0.110|192.168.56.1|192.168.0.110|192.168.56.1 - - [15/Sep/2023:02:32:43 0000] GET /cc/ HTTP/1.0 200 15539 - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 192.168.0.110 123.121.155.167:16002 0.326 0.326如果我使用nginx自带的模块 realip 再固定一层重点观察$remote_addr的值 http {include /etc/nginx/mime.types;default_type application/octet-stream;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;real_ip_header X-Forwarded-For;set_real_ip_from 192.168.56.1;real_ip_recursive on; }如果我将配置改成这样我们再来观察一下日志输出 192.168.0.110|192.168.56.1|192.168.0.110|192.168.0.110 - - [15/Sep/2023:02:46:38 0000] GET /cc/ HTTP/1.0 200 15539 - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 192.168.0.110 123.121.155.167:16002 0.796 0.796上述描述只是两层代理为了测试出 X-Forwarded-For 的值我们设置了3层代理。 A -》B-》c-》d A192.168.0.110 B:192.168.0.104 C192.168.0.128192.168.56.1 D192.168.56.10 B nginx 配置 location /testIp/ {# set $current-X-Fowarded-for X-Forwarded-For proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass http://192.168.0.128:6666/testIp/;}C nginx配置 location /testIp/ {# set $current-X-Fowarded-for X-Forwarded-For proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://192.168.56.10/testIp/;} D nginx 配置 http {include /etc/nginx/mime.types;default_type application/octet-stream;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# real_ip_header X-Forwarded-For;# set_real_ip_from 192.168.56.1;# real_ip_recursive on;.....localtion /testIp/ {porxy_pass http://666.com}}D 中nginx的日志 192.168.0.110, 192.168.0.104|192.168.56.1|192.168.0.104|192.168.56.1 - - [15/Sep/2023:03:26:30 0000] GET /testIp/ HTTP/1.0 200 15539 - Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 192.168.0.110, 192.168.0.104 192.168.0.104:82 0.299 0.299192.168.0.110, 192.168.0.104 是输出的X-forwarded-for 的值。 real_ip_header X-Forwarded-For;set_real_ip_from 192.168.56.1;real_ip_recursive on;这三个值一般是加到最后的D中为了设置授信ip为上层的remot_addr的值 set_real_ip_from用于设置信任的 IP即请求头中的 IP 中 nginx 认为可信的 IP。一般是前几层代理的 IP。real_ip_header用于告诉 nginx 从哪个请求头字段中获取客户端真实的 IP。一般是 X-Forwarded-For 或 X-Real-IP。real_ip_recursive用于控制 nginx 如何从请求头字段中获取多个 IP 中的一个。当值为 on 时nginx 会从右往左排除信任的 IP取最后一个非信任的 IP 作为客户端真实的 IP。 例如如果您想从 X-Forwarded-For 字段中获取客户端真实的 IP并且信任 192.168.56.1 这个 IP您可以在 location 中添加以下代码 location /test {proxy_pass http://backend;real_ip_header X-Forwarded-For;set_real_ip_from 192.168.56.1;real_ip_recursive on; }这样nginx 就会把 X-Forwarded-For 字段中最后一个非 192.168.56.1 的 IP 赋值给 $remote_addr 变量作为客户端真实的 IP。 对于nginx 获取客户端真实ip做个总结 对于首层代理服务器使用proxy_set_header X-Forwarded-For $remote_addr;来将客户端IP赋值给X-Forwarded-For请求头对于非首层代理服务器使用proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;来将客户端请求头中的X-Forwarded-For和$remote_addr两部分用逗号分隔后赋值给X-Forwarded-For请求头 ursive on; } 这样nginx 就会把 X-Forwarded-For 字段中最后一个非 192.168.56.1 的 IP 赋值给 $remote_addr 变量作为客户端真实的 IP。 对于nginx 获取客户端真实ip做个总结 对于首层代理服务器使用proxy_set_header X-Forwarded-For $remote_addr;来将客户端IP赋值给X-Forwarded-For请求头 对于非首层代理服务器使用proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;来将客户端请求头中的X-Forwarded-For和$remote_addr两部分用逗号分隔后赋值给X-Forwarded-For请求头如果有多层代理服务器可以使用nginx的realip模块来从XFF中抛弃指定的可信IP从而获取用户真实IP
http://www.huolong8.cn/news/181892/

相关文章:

  • qq素材网站源码瑞丽网站建设
  • 维护一个网站wordpress 模板变量
  • 网站设计模板怎么使用做网站需要学编程吗
  • 网站收录不好怎么办婚庆一条龙价目表
  • 谁专门做网站安全维护可以在线做c语言的网站
  • 鞍山网站制作价格长沙商城网站建设
  • 安徽芜湖网站建设网络营销的基本概念
  • 城阳做网站公司高校档案网站建设
  • 网站代码检查WordPress鼠标悬停效果
  • 私人定制哪个网站做的比较好公司网站及微信公众号建设意义
  • 深圳的网站建设公司价格wordpress插件安装本地安装
  • 自己做彩票网站犯法吗网站建设的大公司
  • 营销型网站需要备案吗观光农业规划设计
  • 企业做网站的注意事项响应式网站设计布局
  • 网站建设方案下载1688货源网一件代发女装
  • 做建筑的网站建立网站费用
  • 南通做公司网站怎么样制作一个公众号
  • 成都户外网站建设1688的网站特色
  • 重庆h5建站模板wordpress 纯净主题
  • 蛋白质结构预测工具网站开发厦门手机网站建设方案
  • wordpress插件主题集成北京网站优化济南兴田德润简介电话
  • 南京最好的网站设计公司做移动网站
  • 如何推广自己的个人网站呢东莞网站建设全过程
  • 怎么导入网站源码佳匠网站建设
  • 泰安建设网站制作自己的网站教程
  • 青岛响应式网站设计南通学校网站建设
  • 费县建设局网站做简报的网站
  • 网站建设都用哪些软件中国互联网公司排名2022
  • 佛山市住房和城乡建设部网站模具机械东莞网站建设
  • 酒店网站建设价格怎么做加盟网站