我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

HTTPS 请求跳转

如下面的配置:

location /test {
不允许转发流量至百度网站;
}

当用户访问地址为 /test 的页面时,系统会自动跳转至百度网站,同时,浏览器显示的网址也会随之作出调整。

这情况发生的原因在于:在向服务器发送请求之后,Nginx作出了一个转向的响应。

之后,客户端将再次向服务器发送请求,此过程将跳过Nginx。

因此,最终的结果是浏览器进行了页面跳转,而不是由Nginx负责的负载均衡作用。

问题解决

将配置中的 http 改为 https 即可。

一致性

当采用 Nginx 进行反向代理操作时,若后端服务器为诸如动态服务器等类型,便有可能遭遇数据同步的难题。

即: 无法确保同一个 一定对应同一个 ;

配置网络

下面使用 来演示。

配置 IP 地址:

HTTPS请求跳转配置_Nginx反向代理Session一致性问题_nginx做负载均衡

并在 和 上启动 。

配置

在 端创建 jsp 页面:

1

[root@c5477d71795c ROOT]# pwd
/var/lib/tomcat/webapps/ROOT
在c5477d71795c的根目录下,执行cat命令查看index.jsp文件内容。
from 172.20.1.101

session=<%=session.getId()%>

2

[root@c5477d71795c ROOT]# pwd
/var/lib/tomcat/webapps/ROOT
[root@c5477d71795c ROOT]# cat index.jsp 
from 172.20.1.102

session=<%=session.getId()%>

然后访问 :8080/ 和 :8080/。

可以分别显示出信息来源以及相应的标识,而且即便在刷新网页的过程中,这些信息也不会发生改变(即便是通过按Ctrl+F5进行刷新)。

配置 Nginx

对 Nginx 的配置文档进行编辑,添加新的配置段落以及配置项。

upstream tomcat {
    server 172.20.1.101:8080;
    server 172.20.1.102:8080;
}
server {
    ......
    location /cat {
        proxy_pass http://tomcat/;
    }
}

重启 Nginx:

在ce12b3b4ce00的根目录下,位于sbin文件夹内,执行./nginx命令,以-s reload参数进行服务重启操作。

在访问过程中,我注意到IP地址172.20.1.10x持续发生变动,同时,相关数据=xxx也呈现了相应的变化。

说明:此时 Nginx 的配置无法保证 一致性!

解决方案

在系统后端部署了 Redis,这一内存数据库,用于存储相关信息。

在Nginx服务器上,我们通过安装特定组件来消除版本间的兼容性问题。

安装

在 Nginx 容器中使用 yum 安装:

yum install -y memcached

启动

使用 命令启动:

启动memcached服务,配置内存为128MB,监听端口为11211,绑定IP地址为172.20.1.10,运行用户为root,进程文件保存在/tmp/目录下。

参数说明:

修改 配置

在两台 中修改 的配置:

在3a53f7504511的根目录下,用户执行了vi命令,目的是编辑位于/etc目录下的tomcat的context.xml文件。
# context标签中加入下面的内容

导入使用 yum 安装的 jar 包,您可以将该 jar 包存放在 /usr/share/java/ 目录中。

需要的 jar 包:

nginx做负载均衡_Nginx反向代理Session一致性问题_HTTPS请求跳转配置

Maven 依赖如下:


    asm
    asm
    3.2


    com.couchbase.client
    couchbase-client
    1.4.11


    com.googlecode
    kryo
    1.04


    de.javakaffee
    kryo-serializers
    0.11


    de.javakaffee.msm
    memcached-session-manager
    1.8.2


    de.javakaffee.msm
    memcached-session-manager-tc7
    1.8.2


    com.googlecode
    minlog
    1.2


    de.javakaffee.msm
    msm-kryo-serializer
    1.8.2


    com.esotericsoftware
    reflectasm
    1.01


    net.spy
    spymemcached
    2.11.4

请注意:若依赖与版本不匹配,可能会导致信息无法正常显示,此时系统将返回500错误代码。

验证

完成所有步骤并确保它们正确设置后,再次进入该网站并点击刷新,会发现页面内容不再发生变动。

二维码
扫一扫在手机端查看

本文链接:https://by928.com/9979.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线