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

项目申报seo关键词推广价格

项目申报,seo关键词推广价格,孟村网站建设,网站建设提案ppt一 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.hengruixuexiao.com/news/22219.html

相关文章:

  • wordpress建站多少钱火蝠电商代运营公司
  • vi设计基础部分都有哪些电商seo什么意思
  • dz网站建设视频教程日本站外推广网站
  • 篡改 网站 支付接口怎么注册网址
  • 岳阳做网站的公司网络服务器图片
  • 杭州网站改版公司电话快速排名精灵
  • 代做毕设网站推荐电脑培训班一般多少钱
  • 全球做的最好的公司网站自动点击器下载
  • 大新网站制作短视频运营是做什么的
  • wordpress lbs漯河seo推广
  • 北京网站建设怎么样天yande搜索引擎官网入口
  • 拼多多网站怎么做的搜索引擎排名2021
  • 做网站怎么qq邮箱验证温州seo招聘
  • 做试管网站完整企业网站模板
  • 手机wap网站开发深圳网络营销信息推荐
  • 自己做网站都要什么手续可以商用的电视app永久软件
  • 域名的格式是什么seo百科大全
  • 钢筋网片价格怎么做seo网站关键词优化
  • WordPress点击头像优化大师官网入口
  • 广告优化师招聘四川二级站seo整站优化排名
  • b2c网站维护代运营靠谱吗
  • 做百度手机网站点击做一个微信小程序需要多少钱
  • 哪个网站有卖做一次性口机器的深圳全网推广效果如何
  • wordpress把站搜索引擎的三个技巧
  • diy手机壳定制网站软件测试培训
  • 国外还有那种做电商的网站整合营销传播的方法包括
  • 在线网站制作模拟优化关键词排名优化公司
  • 做网站配什么电脑曲靖新闻今日头条
  • 个人做网站费用百度搜索推广的定义
  • 整合营销传播的方法包括企业网站优化公司