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

网站制作有什么好的介绍wordpress使用培训

网站制作有什么好的介绍,wordpress使用培训,上海景观设计公司排行,wordpress 文章评论插件问题现象 我们的平台使用Spring Cloud微服务架构#xff0c;使用Spring Boot构建Java服务#xff0c;使用google的jib插件打成docker镜像包我们使用docker虚拟化部署#xff0c;使用docker-compose统一管理所有服务#xff0c;包括Java服务和nginx等组件我们前后端分离使用Spring Boot构建Java服务使用google的jib插件打成docker镜像包我们使用docker虚拟化部署使用docker-compose统一管理所有服务包括Java服务和nginx等组件我们前后端分离前端通过nginx访问我们的网关Spring Cloud Gateway再转发到对应的Java服务我们需要记录一些基础业务数据变动日志于是在过滤器里拦截对应请求记录日志在记录操作的来源ip时记录了一个172.18.0.x的地址这个明显不是实际客户端来源的ip 排查解决 我们使用getRemoteAddres(request)获取的ip地址按理说是能获取到客户端的真实ip地址的地址不对想着从request的header里直接获取参考网上的方法查看哪个header参数里有ip地址 log.info(X-Real-IP{}, request.getHeader(X-Real-IP));log.info(X-Original-Forwarded-For{}, request.getHeader(X-Original-Forwarded-For));log.info(X-Forwarded-For{}, request.getHeader(X-Forwarded-For));log.info(x-forwarded-for{}, request.getHeader(x-forwarded-for));log.info(Proxy-Client-IP{}, request.getHeader(Proxy-Client-IP));log.info(WL-Proxy-Client-IP{}, request.getHeader(WL-Proxy-Client-IP));log.info(HTTP_CLIENT_IP{}, request.getHeader(HTTP_CLIENT_IP));log.info(HTTP_X_FORWARDED_FOR{}, request.getHeader(HTTP_X_FORWARDED_FOR));结果发现只有X-Forwarded-For能获取到地址还是那个错误的172.18.0.x的地址 地址不对应该是哪里出了问题可能是docker网络、nginx代理或者gateway网关 进一步排查这个地址之前看到过172.1x.0.x是docker网络生成的ip地址 使用docker命令docker network ls查看了docker网络后发现我们确实用的是这个 继续查看各个docker服务的ip确定下这个ip是哪个服务的具体来说是nginx的、gateway的还是具体的这个Java应用的 使用docker exec -it 服务名 /bin/bash进入docker容器内部使用cat /etc/hosts查看网络配置 对比发现这个ip是nginx服务的说明获取客户端远程地址时获取到了nginx的ip nginx是决定能获取到正确的客户端请求ip地址的因为它的log日志输出里是有来源ip的 修改nginx配置 查看了nginx的配置文件default.conf发现里面没有其他配置已有的X-Forwarded-For配置为proxy_set_header X-Forwarded-For $proxy_protocol_addr;这里直接把nginx代理服务自己的地址赋给了X-Forwarded-For所以我们获取到的是nginx的地址我们现在需要做的主要是在主配置文件添加一行proxy_set_header X-Real-IP $remote_addr;将客户端的真实ip地址赋给X-Real-IP执行命令docker restart nginx重启nginx使其生效 Java代码 Java代码修改也很简单对应nginx的配置获取X-Real-IP即可 public static String getIpAddress(HttpServletRequest request) {String ip request.getHeader(X-Real-IP);if (StringUtils.isEmpty(ip) || unknown.equalsIgnoreCase(ip)) {ip request.getRemoteAddr();}return ip;}成功获取结束 nginx配置proxy_set_header介绍 在Nginx配置中proxy_set_header 指令是用于定义向代理服务器传递的请求头字段。该指令专门用于location块中并且通常配合 proxy_pass 指令一起工作proxy_pass 指令定义了代理服务器的协议和地址。 基本上当Nginx作为反向代理服务器时客户端的请求首先到达Nginx然后Nginx将这些请求转发到后端的上游服务器。在转发请求时Nginx可以设置或修改请求头。proxy_set_header 指令正是用来进行这样的设置或修改。 下面是几个proxy_set_header 常见用例 传递主机名 - 将客户端请求的原主机头信息传递到上游服务器。 proxy_set_header Host $host;传递真实IP地址 - 将客户端的真实IP地址传递给后端应用这在后端应用需要记录真实的客户端地址时非常有用。 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;传递HTTPS相关信息 - 当Nginx用作SSL终结时它可以告诉后端应用请求是通过HTTPS或HTTP进行的。 proxy_set_header X-Forwarded-Proto $scheme;用户的Worker处理状态: 有时应用程序可能需要知道客户端连接的具体状态。 proxy_set_header Connection $connection_upgrade;标准的 proxy_set_header 指令使用方法如下 proxy_set_header Header-Name Header-Value;Header-Name 是你希望设置的HTTP请求头名称。Header-Value 是对应的值它可能是一个固定的字符串也可以是Nginx提供的变量如 $remote_addr、$http_user_agent、$http_cookie 等。 注意默认情况下Nginx会使用某些标准请求头如Host、Connection等如果你没有明确使用proxy_set_header设置它们Nginx会传递它的默认值。 在调整Nginx作为反向代理服务器时正确配置proxy_set_header指令能确保后端服务器可以接收到所需的所有重要信息提供正确和安全的服务。
http://www.zqtcl.cn/news/41577/

相关文章:

  • 长沙岳麓区做网站淘宝联盟推广可以做网站吗
  • 绵阳 网站设计服务器租用是什么意思
  • 北京做网站优化多少钱网站建设方式可行性分析
  • 网站建设与设计饰品安全的网站建设推广
  • 网站的制作步骤现在的网站怎样做推广
  • 网站域名证书威海网络营销
  • 自学织梦做网站要多久网站开发学校
  • 什么网站做电脑系统好wordpress调用自定义菜单
  • 建立网站时服务器的基本配置有哪些电商网站建设收费
  • 免费网站建设ppt模板下载广告公司手机网站建设
  • 爱有声小说网站捡个校花做老婆洛阳网站建设找汉狮
  • 站长统计app进入网址东莞外贸企业做网站
  • 网站文章更新数量php网站建设教程 电子书
  • 营销网站建设公司排名建设机械网站哪家好
  • 潮州市建设局网站做网站项目的心得
  • 东源建设局网站工作中最常用的45个excel技巧大全
  • 提高网站权重的作用郑州网站建设渠道
  • 如何搭建静态网站源码wordpress php sqlite
  • 网站的功能需求分析装饰公司为什么做网站
  • 汕头网站建设搭建网站添加定位怎么做
  • 南磨房做网站公司百度刷排名seo软件
  • 建设内网网站流程福田区网站建
  • 网站备案信息更改做网站建设公司哪家好?
  • 哪些网站上可以做seo推广的织梦手机网站免费模板
  • 一键生成文案的网站搜索引擎营销流程是什么?
  • 开源网站开发文档下载vip解析网站怎么做
  • 河北恒山建设集团网站.net 微信网站开发
  • 征婚网站 女 做茶叶生意义乌外贸
  • 网站后台如何修改密码免费模板下载个人简历
  • 广东智能网站建设质量保障自动升级wordpress失败 —— 请再试一次.