yum -y install nginx cp /etc/nginx/nginx.conf{,.bak} vim /etc/nginx/nginx.conf server { listen 80; listen [::]:80; server_name updates.jenkins.io; 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 { } location / { sub_filter_once off; sub_filter_types *; sub_filter 'https://updates.jenkins.io' 'http://updates.jenkins.io'; proxy_pass https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/; } location /download/plugins { proxy_pass http://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins; } } vim /etc/hosts 192.168.14.134 updates.jenkins.io 访问http://updates.jenkins.io 返回的是https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates jenkins的版本是2.39.1 http://updates.jenkins.io/dynamic-stable-2.319.1/update-center.json sub_filter: Jenkins会校验SSL证书的有效性,因此我这里将使用nginx的sub_filter模块将update-center.json返回的内容修改为http协议的 https://www.jianshu.com/p/0ce5ecf16944 sub_filter 文档 subs_filter用法与sub_filter类似,如下所示: subs_filter_types:*; 需要替换的类型,如text/htnl text/plain application/ javascript等,以空格分隔 sub_filter_once: on/off; 是否只替换一次 subs_filter: xxx1 xxx2; 前面的参数为原始内容,后面的参数为替换后的内容 subs_filter: xxx3 xxx4; 前面的参数为原始内容,后面的参数为替换后的内容 sub_filter模块为nginx官方自带的模块,功能为替换掉返回给客户端数据的指定内容。需要使用该功能时只需要在编译时添加对该模块的支持,便会编译到nginx的内核。但是sub_filter的缺点之一是只支持配置一个sub_filter替换。