Skip to content

Instantly share code, notes, and snippets.

@peter-mw
Forked from gaoyifan/google-fonts-proxy
Created December 21, 2018 10:31
Show Gist options
  • Save peter-mw/674b19e15800f7821e4be2575d19a1aa to your computer and use it in GitHub Desktop.
Save peter-mw/674b19e15800f7821e4be2575d19a1aa to your computer and use it in GitHub Desktop.

Revisions

  1. @gaoyifan gaoyifan revised this gist Sep 23, 2015. 1 changed file with 12 additions and 0 deletions.
    12 changes: 12 additions & 0 deletions google-fonts-proxy-common
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,12 @@
    # disable gzip response, otherwise subs_filter cannot parse it
    proxy_set_header Accept-Encoding "";

    #subs_filter_types text/html text/css text/xml text/javascript;
    subs_filter_types text/css text/xml text/javascript;
    subs_filter //fonts.googleapis.com/ //fonts.lug.ustc.edu.cn/;
    subs_filter //ajax.googleapis.com/ //ajax.lug.ustc.edu.cn/;
    subs_filter //themes.googleusercontent.com/ //google-themes.lug.ustc.edu.cn/;
    subs_filter //fonts.gstatic.com/ //fonts-gstatic.lug.ustc.edu.cn/;

    proxy_connect_timeout 3s;
    error_page 500 502 504 @redirect;
  2. @gaoyifan gaoyifan created this gist Sep 23, 2015.
    228 changes: 228 additions & 0 deletions google-fonts-proxy
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,228 @@
    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name fonts.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    #location @redirect {
    # rewrite ^/(.*)$ $scheme://fonts.googleapis.com/$1 redirect;
    #}

    location / {
    proxy_pass https://fonts.googleapis.com/;
    proxy_set_header Host fonts.googleapis.com;
    include conf.d/google-fonts-proxy-common;
    }
    }

    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name ajax.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ $scheme://ajax.googleapis.com/$1 redirect;
    }

    location / {
    proxy_pass https://ajax.googleapis.com/;
    proxy_set_header Host ajax.googleapis.com;
    include conf.d/google-fonts-proxy-common;
    }
    }

    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name google-themes.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ $scheme://google-themes.lug.ustc.edu.cn/$1 redirect;
    }

    location / {
    proxy_pass https://themes.googleusercontent.com/;
    proxy_set_header Host themes.googleusercontent.com;
    include conf.d/google-fonts-proxy-common;
    }
    }

    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name fonts-gstatic.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ https://fonts.gstatic.com/$1 redirect;
    }

    location / {
    proxy_pass https://fonts.gstatic.com/;
    proxy_set_header Host fonts.gstatic.com;
    include conf.d/google-fonts-proxy-common;
    }
    }

    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name openwrt.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ http://downloads.openwrt.org/$1 redirect;
    }

    location / {
    proxy_pass http://downloads.openwrt.org/;
    proxy_set_header Host downloads.openwrt.org;
    proxy_connect_timeout 3s;
    error_page 500 502 504 @redirect;
    }
    }

    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name storage-googleapis.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ https://storage.googleapis.com/$1 redirect;
    }

    location / {
    proxy_pass https://storage.googleapis.com/;
    proxy_set_header Host storage.googleapis.com;

    # disable gzip response, otherwise subs_filter cannot parse it
    proxy_set_header Accept-Encoding "";

    subs_filter_types text/plain application/octet-stream;
    subs_filter //gerrit.googlesource.com/ //gerrit-googlesource.lug.ustc.edu.cn/;

    proxy_connect_timeout 3s;
    error_page 500 502 504 @redirect;
    }
    }

    server {
    listen 80;
    listen 443;
    listen [::]:80;
    listen [::]:443;

    server_name gerrit-googlesource.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ https://gerrit.googlesource.com/$1 redirect;
    }

    location / {
    proxy_pass https://gerrit.googlesource.com/;
    proxy_set_header Host gerrit.googlesource.com;
    proxy_connect_timeout 3s;
    error_page 500 502 504 @redirect;
    }
    }

    upstream gravatar{
    #server www.gravatar.com;
    server en.gravatar.com;
    }

    server {
    listen 443;
    listen [::]:443;

    server_name gravatar.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ https://secure.gravatar.com/$1 redirect;
    }

    location / {
    proxy_pass http://gravatar/;
    proxy_set_header Host www.gravatar.com;
    proxy_connect_timeout 3s;
    error_page 500 502 504 @redirect;
    }
    }

    server {
    listen 80;
    listen [::]:80;

    server_name gravatar.lug.ustc.edu.cn;
    access_log /var/log/nginx/revproxy_access.log;
    error_log /var/log/nginx/revproxy_error.log;

    ssl_certificate /etc/nginx/key/lug.ustc.edu.cn.crt;
    ssl_certificate_key /etc/nginx/key/lug.ustc.edu.cn.key;

    location @redirect {
    rewrite ^/(.*)$ http://www.gravatar.com/$1 redirect;
    }

    location / {
    proxy_pass http://gravatar/;
    proxy_set_header Host www.gravatar.com;
    proxy_connect_timeout 3s;
    error_page 500 502 504 @redirect;
    }
    }