博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cloud foundry v1中访问不带'/'的URL时重定向到带端口号地址导致访问错误
阅读量:6085 次
发布时间:2019-06-20

本文共 1369 字,大约阅读时间需要 4 分钟。

hot3.png

cloud foundry这个东西真是整人。
环境:我司我组大牛整通了一个Cloud Foundry的PAAS平台,偶找了个PHP应用放上去
带后缀/的URL地址访问没有问题,
如果不带,比如访问管理入口: a.xxx.com/admin 
则浏览器被301重定向到:       a.xxx.com:61200/admin/   这个地址访问不了
在浏览器手动输入:              a.xxx.com/admin/             能正确访问
根据这几篇文章
 这篇讲的好

  搞不清是谁引用的谁

 

在前版设计中,当Router接收到请求后,会随机分配一个Droplet来处理这个请求,这种方式使得用户没有办法使用Session,因为连续的HTTP请求会被分发到不同的应用实例上处理。新版本设计中增加了对SESSION的支持,当Router发现用户的请求中带了cookie信息,
它会在Cookie里暗藏一个Droplet的host,port地址。当有新的请求进来,Router通过解析Cookie得到上次的应用实例,然后尽量转发到同一台Droplet上。

就是说

CF1中前端由CC(cloud controller)接受请求转发请求,实际是由Nginx做前端接受http请求,由nginx的lua模块处理url请求,分析url获取(upstream sinatra应用)其对应的ip和port进行转发。转发时会分析cookie,从而将请求发到同一droplet上,实现session。lua会保存映射关系在nginx中,提高效率。
上传的应用时 源码和运行环境(cf配置好的httpd或tomcat或其他容器等),加上一些启停脚本 被 一起打包成一个tar文件叫droplet,被存储在blobstore中 。DEA 收到cc的启停指令后 取出该droplet tar 的副本,解压运行其中的启停脚本即可,可以方便的启停多个副本。 感觉warden是一个虚拟的有限资源的os,让droplet在其上运行。
对于 app.xxx.com这样的请求,先由router接受,查询要转发到那里去:ip:port
droplet的容器在port上监听,apache收到的应该是 http://ip:port/yyy 这样的后处理请求然后返回 页面?
如果不带后缀/,会301重定向到带/的地址,带上端口号应该是正确的。
我觉得应该是nginx转发apache的处理结果的url时没有把端口号给去掉
继续调查,有了解决方法再来结文。
要在本地虚拟机搭建lnamp架构了,一个nginx做前端,几个httpd在不同端口监听
------------------
现在0:45分
查了一个晚上,看了很多nginx的文章,找到这篇 描述的现象和我遇到的问题类似,希望他的配置能生效

port_in_redirect off;
还有  
 

9月9日,调查了一夜的结果,大牛试过之后说没用,今天上午这个问题被提上日程,大牛花了估计半个小时写了个lua将http头中的port号给去掉了,然后,然后就一切ok了,只是我浪费了很多时间在这个问题上面,前几天一直整apache的配置,后几天转到nginx。lua完全不懂。

转载于:https://my.oschina.net/jingxing05/blog/159717

你可能感兴趣的文章
使用scikit-learn解决文本多分类问题(附python演练)
查看>>
2018 年最值得关注的 JavaScript 趋势
查看>>
什么是区块链?超级账本 Brian Behlendorf 从五个方面教你认识
查看>>
Linux中的帮助功能
查看>>
针对Android的Pegasus恶意软件版本和针对iOS的有什么不同?
查看>>
使用MindFusion JavaScript组件与WordPress Elementor插件
查看>>
Android设计应用图标不用愁---Asset Studio Integration来帮你 .
查看>>
Linux 下DNS配置管理
查看>>
收集的Haskell资源
查看>>
Hyper-V 2016 配置管理系列(Part3)
查看>>
IEEE模版写作干货
查看>>
Linux日志管理与分类
查看>>
使用Maven搭建SpringMVC项目
查看>>
Nginx学习之三:对应平台的Nginx下载和安装
查看>>
IPv4地址
查看>>
全局探色器
查看>>
shell入门1
查看>>
dialog
查看>>
Golang HTTP请求代理
查看>>
大麦网疑遭“脱裤” 600余万用户信息被售卖
查看>>