xxl-job使用nginx代理https后,访问出现403异常问题解决

在nginx代理为https之前,xxl-job使用http访问是没有问题的,但是换为https后,访问就有以下报错:

很多接口都出现了403异常

DataTables warning: table id=job_list - Ajax error. For more information about this error, please see http://datatables.net/tn/7

这是之前的nginx配置:

javascript 复制代码
location /datagov/job {
  add_header Access-Control-Allow-Origin *;
  add_header Access-Control-Allow-Methods *;
  add_header Access-Control-Allow-Headers *;
 
  proxy_connect_timeout 60s;
  proxy_send_timeout 90;
  proxy_read_timeout 120;
  proxy_temp_file_write_size 256k;
  proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
  proxy_max_temp_file_size 128m;
  proxy_buffering off;
  proxy_rdirect off;
  proxy_set_header Host $host:$server_port;
  proxy_set_header Cache-Control max-age=1;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://datagov-job;
}

经过排查发现可能是XXL-JOB权限问题

XXL-JOB 可能对请求的 RefererHostOrigin 进行了校验,导致 Nginx 代理后被拒绝

解决方案:

location /datagov/job 下添加 proxy_set_header,确保请求头正确传递:

  • proxy_set_header Referer "";
  • proxy_set_header Origin "";
  • proxy_set_header Host $host;

这样可以避免 XXL-JOB 校验失败。

修改后的nginx配置:

javascript 复制代码
location /datagov/job {
	add_header Access-Control-Allow-Origin *;
	add_header Access-Control-Allow-Methods *;
	add_header Access-Control-Allow-Headers *;
			  
	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 Referer "";
	proxy_set_header Origin "";
			  
	proxy_connect_timeout 60s;
	proxy_send_timeout 90;
	proxy_read_timeout 120;
	proxy_temp_file_write_size 256k;
	proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
	proxy_max_temp_file_size 128m;
	proxy_buffering off;
	proxy_redirect off;
			  
			  
	proxy_pass http://datagov-job;
	   
}
相关推荐
S-X-S13 分钟前
Java面试题-Redis缓存
java·redis·缓存
带多刺的玫瑰14 分钟前
Leecode刷题C语言之全排列②
java·数据结构·算法
Cherish~~15 分钟前
Mysql8应用架构
java·架构
No8g攻城狮33 分钟前
【异常解决】在idea中提示 hutool 提示 HttpResponse used withoud try-with-resources statement
java·开发语言·ide·intellij-idea
m0_748241121 小时前
集成开发环境GoLand安装配置结合内网穿透实现ssh远程访问服务器
运维·服务器·ssh
张3蜂1 小时前
PromptSource官方文档翻译
人工智能·机器人·开源
靈龍靈1 小时前
为多个GitHub账户配置SSH密钥
运维·ssh·github
小镇敲码人2 小时前
【Linux网络编程】之守护进程
linux·运维·网络
流星白龙2 小时前
【Linux】30.Linux 多线程(4)
linux·运维·服务器
卓怡学长2 小时前
w200基于spring boot的个人博客系统的设计与实现
java·数据库·spring boot·后端·spring·intellij-idea