在做vue+springboot+nginx的时候,发现使用localhost登录后无法访问接口,每次都会提示没有登录而被拒绝访问,感觉每次都是另外一台服务器在访问一样。查看请求,发现第二次请求并没有发送登录后的sessionId过去,所以判断是cookie未保存。测试发现localhost和127.0.0.1都无法保存上cookie,换成内网IP,在本地hosts文件映射一个域名到本机,或者直接使用postman访问springboot都是可以的。原因未知,大家可以讨论下。nginx配置如下:`
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
proxy_set_header Host $host;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|ttf|woff)$ {
rewrite /login.html /index.html permanent;
root D:/Vue/bmsfront/dist;
index index.html;
}
location = / {
root D:/Vue/bmsfront/dist;
index index.html;
}
location / {
proxy_pass http://back_app;
}
}
upstream back_app {
ip_hash;
server localhost:8080;
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
`
你们代码有没设置白名单。是否设置只允许指定域名可以携带
cookie