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

榆林市城乡建设规划网站邢台发广告的平台有哪些

榆林市城乡建设规划网站,邢台发广告的平台有哪些,虚拟空间app,wordpress数据库修改后台密码一 nginx代理多个服务,且服务之间需要相互通信 多个服务运行在docker容器中,nginx同样在docker容器中 比如前端服务需要请求后端服务,用户请求服务器80或者443 ,nginx代理请求到前端服务,前端服务业务请求到后端服务…

一 nginx代理多个服务,且服务之间需要相互通信

多个服务运行在docker容器中,nginx同样在docker容器中

比如前端服务需要请求后端服务,用户请求服务器80或者443 ,nginx代理请求到前端服务,前端服务业务请求到后端服务

1.1 docker需要创建网络

docker network create --driver bridge --subnet 172.30.1.0/24 --gateway 172.30.1.1 my_net
# my_net 自定义网络名称
# 172.30.1.0/24 自定义网段
# geteway 定义

1.2 创建docker容器时需要指定网络到自己创建的网络,并可以分配一个ip

这里使用docker compose

创建了一个remarkbackContainer的容器,指定了端口映射,指定网络,并固定一个ip地址

version: "3"
services:remarkbackContainer:image: remarkback:v1.0container_name: remarkbackContainerrestart: alwaysports:- 9012:9012networks:my_net:ipv4_address: 172.30.1.3 #固定ip
networks:my_net:external: true

1.3 前端服务请求后端服务,通过nginx代理完成

因为前端项目如果直接请求后端服务的地址和端口,那么将后端服务直接暴露出来,使用nginx进行代理则可以隐藏后端服务

在nginx的配置文件中增加匹配

比如,前端请求直接后端接口统一用api路径,[http://demain.com/api/xxx],那么在nginx中这样配置

proxy_pass 可以直接写后端服务的容器名称,这样请确保nginx,前后端服务都在docker 同一个网络中

              location /api{proxy_pass http://remarkbackContainer:9012; # 后端服务ip接口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_set_header X-Forwarded-Proto $scheme;#proxy_set_header access_token $http_access_token;# 添加 CORS 头信息add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Max-Age' '86400';}

二 nginx代理后 header信息丢失

比如使用 jwt进行验证,将token放入了一个 access_token中 ,但是登录成功后仍然需要验证权限,通过后端服务日志查看,header中并没有token信息

原因:

这是因为nginx默认会剔除掉 _ 等特殊字符的header key,需要修改nginx配置

增加 underscores_in_headers on;

http {include       mime.types;default_type  application/octet-stream;sendfile        on;underscores_in_headers on;    # 用于解决请求头中包含下划线'_'的keykeepalive_timeout  65;client_max_body_size 50m;...
}

三 使用域名、https时 前端访问出现跨域问题

1. 先确保在http协议下能正常请求

2. 再确认单独https请求后端服务是否正常

3. 如果不正常,那么是后端服务的https代理未配置好

4. 如果正常,那么可能是前端服务请求后端服务的地址不是https

情况1

        比如域名是 demain.com,用户请求 https://demain.com时访问了前端服务页面,但是点击操作时前端服务请求后端时出现跨域,如果是请求后端地址不是同一个域名,那么会出现跨域问题

        这种情况可以将请求地址改成 https://demain.com/api这种带有固定前缀的,再在nginx上进行转发到实际后端服务上【参考1.3】

情况2

        如果请求的地址也是经过nginx转发,但是仍然出现,那么就看看后端服务的https转发是否正确,

http://www.yayakq.cn/news/345017/

相关文章:

  • 企业网站首页开发佛山网站建设电话
  • 西安网站seo收费北京做百度推广的公司
  • 就业指导中心网站建设总结wordpress 照片插件
  • 阿里云做网站买什么招聘网哪个平台是免费的
  • 有哪些做汽车变速箱的门户网站深圳住房建设局官方网站
  • 广州网站建设一般多少钱青岛外贸网站运营哪家好
  • 深圳有哪些招聘网站网站排名高权重低
  • 怎样让网站被百度收录做群头像的网站在线
  • w3c网站开发搭建公司网站需要多少钱
  • 建设网站需要什么内容京东采取了哪些网络营销方式
  • 自己怎么做外贸网站个人教程网站
  • 建设网站需要多少钱济南兴田德润o厉害吗企业官网维护
  • 宣城市住房和城乡建设局网站首页怎么注册网站网址
  • 重庆有的设计网站大全太原网页制作公司
  • 做网站价格山西省建设厅官网站
  • 新手做市场分析的网站个人网站管理系统
  • 建站模板工程造价长沙百姓网招聘
  • 遵义官网网站建设后台更新的内容在网站上不显示
  • 湛江模板建站多少钱济南pc网站建设公司
  • 新乡电商网站建设平面设计有哪些网站
  • 广州网站建设 讯度网络wordpress 导航栏效果
  • 网站备案帐号是什么意思wordpress 视频站模板下载失败
  • 西安市网站制作公司H5 网站
  • 做网站群网络营销师培训学校
  • 西安外贸网站建设公司免费收录网站大全
  • 博客网站wordpress要怎么网络做推广
  • 网站上传都传些什么文件企业号官网入口
  • 广州白云机场网站建设电商网站建设渠道
  • 青海省城乡建设网站wordpress文章出问题
  • 京东网站 用什么做的tp5手机网站开发