JAVA_SESSION_127.0.0.1_localhost

项目中遇到验证码session获取不一致的问题,原因是localhost和127.0.0.1产生的session不同,以及window.location.href导致session失效。解决方案是确保location.href携带当前页面的session_id,保持session一致性。

项目场景:

`

问题描述

验证码session获取的不一致

String random = (String) session.getAttribute(Contants.RANDOMCODEKEY);

原因分析:

1、localhost和127.0.0.1产生的session是不同的。

2、window.location.href的页面session会失效。


解决方案:

解决方案: location.href页面路径携带当前页面上的session_id

最后修改为同一个。然后请求 通过

我一直收不到微信支付回调接口的通知,我检查过了我的ssl证书是没问题,请看看我的nginx配置是否有问题? nginx内容如下: # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /404.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } # Settings for a TLS enabled server. # # server { # listen 443 ssl http2; # listen [::]:443 ssl http2; # server_name _; # root /usr/share/nginx/html; # # ssl_certificate "/etc/pki/nginx/server.crt"; # ssl_certificate_key "/etc/pki/nginx/private/server.key"; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 10m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # # error_page 404 /404.html; # location = /40x.html { # } # # error_page 500 502 503 504 /50x.html; # location = /50x.html { # } # } server { listen 443 ssl; server_name www.payment.newtimehealthy.com; # 你的域名 # # 关键:拦截所有以.开头的隐藏文件/目录(包括.git) # location ~ /\. { # deny all; # 直接拒绝访问,返回403 # access_log off; # 不记录这类恶意请求日志 # log_not_found off; # 不记录“文件不存在”的错误 # } # SSL证书配置 ssl_certificate /home/nginx/ssl/www.payment.newtimehealthy.com.pem; # 自签名证书文件(或 server.pem) ssl_certificate_key /home/nginx/ssl/www.payment.newtimehealthy.com.key; # 私钥文件 # 配置 SSL 会话缓存,提高性能 ssl_session_cache shared:SSL:1m; # 设置 SSL 会话超时时间 ssl_session_timeout 5m; # 自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 指定允许的 TLS 协议版本,TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差 ssl_protocols TLSv1.2 TLSv1.3; # 优先使用服务端指定的加密套件 ssl_prefer_server_ciphers on; # 反向代理到Java项目(9959端口) location /newtime/payment/ { proxy_pass http://127.0.0.1:9959; 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_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; keepalive_timeout 300; } } }
最新发布
09-13
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值