Skip to content

Instantly share code, notes, and snippets.

@eallion
Created October 27, 2023 09:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eallion/d71e8736cfe434ae2a1345809d3e9efd to your computer and use it in GitHub Desktop.
Save eallion/d71e8736cfe434ae2a1345809d3e9efd to your computer and use it in GitHub Desktop.
Wikipedia_Nginx_reverse_proxy_config

Wikipedia_Nginx_reverse_proxy_config

server {
  server_name wiki.e5n.cc;
  listen 80;
  rewrite ^/(.*) https://$server_name/$1 permanent;
}

server {
  server_name wiki.e5n.cc;
  listen 443 ssl;
  
  #SSL-START
  if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
  }
  ssl_certificate    /www/server/panel/vhost/cert/wiki.e5n.cc/fullchain.pem;
  ssl_certificate_key    /www/server/panel/vhost/cert/wiki.e5n.cc/privkey.pem;
  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  add_header Strict-Transport-Security "max-age=31536000";
  error_page 497  https://$host$request_uri;
  #SSL-END

  location / {
    proxy_pass https://zh.wikipedia.org;
    proxy_buffering off;

    proxy_cookie_domain zh.wikipedia.org wiki.e5n.cc;
    proxy_redirect https://zh.wikipedia.org/ /;
    proxy_redirect https://zh.m.wikipedia.org/ https://m-wiki.e5n.cc/;

    proxy_set_header X-Real_IP $remote_addr;
    proxy_set_header User-Agent $http_user_agent;
    proxy_set_header Accept-Encoding '';
    proxy_set_header referer "https://zh.wikipedia.org$request_uri";

    subs_filter_types text/css text/xml text/javascript;
    subs_filter '维基百科' '维基百科镜像';
    subs_filter zh.wikipedia.org wiki.e5n.cc;
    subs_filter upload.wikimedia.org up-wiki.e5n.cc;
    subs_filter zh.m.wikipedia.org m-wiki.e5n.cc;
  }
  location https://zh.m.wikipedia.org/{
    rewrite ^/(.*) https://m-wiki.e5n.cc/$1 permanent;
  }
}

server {
  server_name m-wiki.e5n.cc;
  listen 80;
  rewrite ^/(.*) https://$server_name/$1 permanent;
}

server {
  server_name m-wiki.e5n.cc;
  listen 443 ssl;
  
  #SSL-START
  if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
  }
  ssl_certificate    /www/server/panel/vhost/cert/wiki.e5n.cc/fullchain.pem;
  ssl_certificate_key    /www/server/panel/vhost/cert/wiki.e5n.cc/privkey.pem;
  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  add_header Strict-Transport-Security "max-age=31536000";
  error_page 497  https://$host$request_uri;
  #SSL-END

  location / {
    proxy_pass https://zh.m.wikipedia.org;
    proxy_buffering off;

    proxy_redirect https://zh.m.wikipedia.org/ /;
    proxy_cookie_domain zh.m.wikipedia.org m-wiki.e5n.cc;

    proxy_set_header X-Real_IP $remote_addr;
    proxy_set_header User-Agent $http_user_agent;
    proxy_set_header Accept-Encoding '';
    proxy_set_header referer "https://zh.m.wikipedia.org$request_uri";

    subs_filter_types text/css text/xml text/javascript;
    subs_filter '维基百科' '维基百科镜像';
    subs_filter zh.wikipedia.org wiki.e5n.cc;
    subs_filter zh.m.wikipedia.org m-wiki.e5n.cc;
    subs_filter upload.wikimedia.org up-wiki.e5n.cc;
  }
}

server {
  server_name up-wiki.e5n.cc;
  listen 80;
  rewrite ^/(.*) https://$server_name/$1 permanent;
}

server {
  server_name up-wiki.e5n.cc;
  listen 443 ssl;

  #SSL-START
  if ($server_port !~ 443){
    rewrite ^(/.*)$ https://$host$1 permanent;
  }
  ssl_certificate    /www/server/panel/vhost/cert/wiki.e5n.cc/fullchain.pem;
  ssl_certificate_key    /www/server/panel/vhost/cert/wiki.e5n.cc/privkey.pem;
  ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  add_header Strict-Transport-Security "max-age=31536000";
  error_page 497  https://$host$request_uri;
  #SSL-END

  location / {
    proxy_pass https://upload.wikimedia.org;
    proxy_cookie_domain upload.wikimedia.org up-wiki.e5n.cc;
    proxy_buffering off;
    proxy_set_header X-Real_IP $remote_addr;
    proxy_set_header User-Agent $http_user_agent;
    proxy_set_header referer "https://upload.wikimedia.org$request_uri";
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment