birt 内嵌iframe 提示session 过期处理

birt 设置base_url, 注意要使用https,不然会有很多麻烦, 比如主站是https,iframe 是http,就会报错

# /var/lib/tomcat9/webapps/birt/WEB-INF/viewer.properties
# configurable variable for JSP base href. Please uncomment the below line.
base_url=https://birt.test.com/

配置nginx,

server {
    listen 443 ssl;
    server_name birt.test.com;

    ssl_certificate     /etc/nginx/ssl/birt.test.com.cer;
    ssl_certificate_key /etc/nginx/ssl/birt.test.com.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;

    location /birt/ {
        proxy_pass http://127.0.0.1:8080/birt/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # 允许跨域访问
        add_header Access-Control-Allow-Origin "*";
        add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
        add_header Access-Control-Allow-Headers "*";
        add_header Access-Control-Allow-Credentials "true";

        # 透传 JSESSIONID
        proxy_cookie_path / "/; Secure; HttpOnly; SameSite=None";
    }
}
posted @ 2025-03-24 23:11  那时一个人  阅读(12)  评论(0)    收藏  举报