我使用vue集成QQ第三方登录,例如我的回调是 http://qwe.cn,我在nginx配置了 监听这个域名80端口,重定向到 2589端口,并在2589端口配置了证书。
现在遇到的问题是:第一次使用回调是正常的,可以正常跳转到 2589端口,但是第二次只会跳转到 https://qwe.cn ,如果清除缓存以后 也是第一次正常,后面不行 有老大可以帮忙解决下吗
浏览器缓存导致nginx重定向失败
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
针对您的问题,看起来是由于浏览器缓存了最初的重定向路径。为了解决这个问题,您可以尝试以下几个步骤:
- 添加HTTP头部信息来禁用缓存:
在Nginx配置文件中,为重定向的URL添加
Cache-Control
和Pragma
头信息,告诉浏览器不缓存这些响应。这可以通过设置location块中的add_header
指令实现。以下是示例代码:
server { listen 80; server_name qwe.cn; location / { add_header Cache-Control "no-cache, no-store, must-revalidate"; add_header Pragma "no-cache"; add_header Expires "0"; proxy_pass http://localhost:2589; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
- 使用URL查询参数: 另一个方法是在重定向URL后添加一个随机的查询参数,这样每次请求都会因为参数不同而被认为是新的请求。可以在Vue应用中动态生成一个时间戳作为参数,或者在Nginx配置中添加一个伪静态变量。以下是Nginx配置示例:
server { listen 80; server_name qwe.cn; location / { if ($request_uri ~ "^/qq-login$") { set $timestamp $(date +%s); rewrite ^(.*)$ https://qwe.cn:$scheme:$port/$1?nocache=$timestamp permanent; } proxy_pass http://localhost:2589; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
在这个例子中,当访问
/qq-login
时,会添加一个名为nocache
的时间戳参数,确保每次请求都是独一无二的。- 配置SSL: 确保在Nginx的2589端口上正确配置了SSL证书,以便在重定向之后也能进行安全通信。您可能需要在2589端口的location块中指定证书和密钥文件,例如:
server { listen 2589 ssl; server_name localhost; ssl_certificate /path/to/your/certificate.pem; ssl_certificate_key /path/to/your/private.key; # ...其他SSL相关配置... location / { # ...其他代理配置... } }
请将上述代码中的
/path/to/your/certificate.pem
和/path/to/your/private.key
替换为您实际的证书和私钥文件路径。完成以上步骤后,应该能解决因浏览器缓存导致的重定向问题。请重启Nginx服务以应用更改,并测试是否有效。如果有任何疑问或需要进一步的帮助,请随时提问。
解决 无用评论 打赏 举报 编辑记录- 添加HTTP头部信息来禁用缓存:
在Nginx配置文件中,为重定向的URL添加
悬赏问题
- ¥15 nginx中的CORS策略应该如何配置
- ¥30 信号与系统实验:采样定理分析
- ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
- ¥20 Vite 打包的 Vue3 组件库,图标无法显示
- ¥15 php 同步电商平台多个店铺增量订单和订单状态
- ¥15 关于logstash转发日志时发生的部分内容丢失问题
- ¥17 pro*C预编译“闪回查询”报错SCN不能识别
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题