加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Nginx反向代理转发Apache配置 之 Cookie去哪儿了?

发布时间:2019-01-09 11:36:42 所属栏目:业界 来源:今日头条
导读:在公司接办了个微信项目,因为微信情形下会见网站必要行使对外开放的域名,以是有相干题目,都是直接运维同事资助处理赏罚。 道理是这样: 方案一: 将域名理会指向测试处事器的地点; 开放相干端口会见权限; 方案二: 将域名理会指向内网测试处事器的某一台;(

在公司接办了个微信项目,因为微信情形下会见网站必要行使对外开放的域名,以是有相干题目,都是直接运维同事资助处理赏罚。

道理是这样:

方案一:

将域名理会指向测试处事器的地点;

开放相干端口会见权限;

方案二:

将域名理会指向内网测试处事器的某一台;(也利便用于测试https证书题目)

由该台处事器转发处事到响应必要的测试处事器;

开拓本台测试处事器及转发的测试处事器的端口权限;

最初,我们行使第一种方案,可是每次都要贫困好几组的同事一路处理赏罚,,才气搞定,因此启用了方案二。开了一台中转处事器,搭建nginx处事,指向了我们当前测试的一台处事器,其间,碰着的题目。运维同事没时刻,交给我们本身来搞。好嘛,碰着题目了。

Nginx反向署理转发Apache设置 之 Cookie去哪儿了?

题目1、无法找到响应项目题目?

由于nginx只认真将哀求转发到该台呆板的80或其他端口上了,并没有细心设置,因此无法找到对应的项目。 办理:在apache 中添加响应vhost设置,示譬喻下:

DocumentRoot /www/web/madmin/public_html#ServerName admin.123.com#ServerAlias 10.8.0.1ServerName 192.168.1.212ErrorDocument 400 /errpage/400.htmlErrorDocument 403 /errpage/403.htmlErrorDocument 404 /errpage/404.html#php_admin_value open_basedir /www/web/madmin:/tmpDeflateCompressionLevel 7AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-phpAddOutputFilter DEFLATE css js html htm gif jpg png bmp phpOptions FollowSymLinksAllowOverride AllOrder allow,denyAllow from all

这样,处事器就能正常理会项目了。

题目2、转发过来后,客户端ip获取不到了,获得的只是一个署理处事器ip。

由于涉及到转发,全部的对象都是也许丢掉的,在这里,就必要将原始IP转发过来,如下:

upstream apache { server 127.0.0.1:80; keepalive 8;}upstream k_api { server 172.17.0.27:8080; keepalive 8;}server { listen 8091; server_name admin.123.com; location /api { proxy_pass http://k_api; proxy_set_header Host $host; #域名转发 proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; #IP转发 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; } location / { proxy_pass http://apache/h5/; #转发随处事器后,加相对目次地点 proxy_set_header Host $host; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 60; proxy_read_timeout 600; proxy_send_timeout 600; }}

题目3、行使nginx署理后,一向无法登录,经排查为cookie无法生涯?

这个题目困扰了我好久,也找了运维同事求教了好久,始终无法办理。最终,花了许多时刻去找资料,本身做了很多实行,终于发明白。 原本是处事器时刻差的题目,nginx处事器的时区配置为 EST,apache处事器的时区配置是 CST,那时区相差8小时。

以是cookie无效了。详细道理就是,登录后会在apache地址处事器配置cookie,有用期为1小时内有用,而转到nginx后,时刻却往前了8小时,因此处事器(可能是客户以为)会以为该cookie是逾期的,因此不会被生涯起来了。

办理:变动nginx时区和时刻,和apache同等。修改时刻时区的呼吁如下:

#修改时刻date -s 12:12:12 # 时刻改为了 12:12:12date -s 20170112 # 日期变动为2017/01/12date -s ”12:12:12 2017-01-00“ # 时刻改为了2017-01-00 12:12:12#修改时区tzselect #按照提醒修改成响应时区

题目4、监听端口题目?

按照必要配置监听响应端口,留意端口不能斗嘴了!

nginx着实挺好玩的,有很预置变量,不懂的去搜下文档,根基都能办理。 重在实践吧!

【编辑保举】

  1. 详解Nginx负载平衡的4种方案
  2. 详解Tomcat 与 Nginx,Apache的区别及优弱点
  3. 你真的相识怎样将Nginx设置为Web处事器吗
  4. Nginx的n种用法,你城市吗?
  5. 一文详解 LVS、Nginx 及 HAProxy 事变道理
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读