一切的起源

  1. github pages不支持给自己的域名(CNAME)加https
  2. 国外的给github pages用的带https的cdn国内访问速度太慢
  3. 我想给所有的内容上https

综合以上三点,我决定用自己的VPS给自己的GithubPages反代

TL;DR

不长啊,操作起来没啥困难。

0x00 准备工作

  1. 一个Nginx服务器
  2. 一个配置好的Github Pages

0x01 操作

编辑你的虚拟主机的配置文件,在模版之后加上:

location / {  
  proxy_cache cache_one;
  proxy_cache_valid 200 304 30m;
  proxy_cache_key $host$uri$is_args$args;
  proxy_pass http://erjiaqing.github.io/;
  proxy_redirect off;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  expires 1d;
  access_log off;
}

编辑/etc/nginx/nginx.conf这个文件,在http这个块里面加上

proxy_connect_timeout 5;  
proxy_read_timeout 60;  
proxy_send_timeout 5;  
proxy_buffer_size 16k;  
proxy_buffers 4 64k;  
proxy_busy_buffers_size 128k;  
proxy_temp_file_write_size 128k;  
proxy_temp_path /var/www/proxy/temp;  
proxy_cache_path /var/www/proxy/cache levels=1:2 keys_zone=cache_one:500m inactive=7d max_size=5g;  

最后新建/var/www/proxy/temp/var/www/proxy/cache这两个文件夹即可(记得给权限)

0x02 测试

首先测试配置文件正确性

nginx -t

确定配置文件没问题,然后就可以跑了

systemctl reload nginx

打开网页,确定没问题