Zum Inhalt

google: NGINX-Modul zur Erstellung von Google-Spiegeln

Installation

Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:

  • RedHat Enterprise Linux 7, 8, 9 und 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 und Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-google
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-google

Aktivieren Sie das Modul, indem Sie Folgendes an den Anfang von /etc/nginx/nginx.conf hinzufügen:

load_module modules/ngx_http_google_filter_module.so;

Dieses Dokument beschreibt nginx-module-google v0.2.4, veröffentlicht am 17. Juni 2023.


Gitter

Beschreibung

ngx_http_google_filter_module ist ein Filtermodul, das die Bereitstellung von Google-Spiegeln erheblich erleichtert.
Reguläre Ausdrücke, URI-Standorte und andere komplexe Konfigurationen sind bereits integriert.
Das native NGINX-Modul gewährleistet die Effizienz beim Umgang mit Cookies, gstatic-Quellen und Weiterleitungen.
Lassen Sie uns sehen, wie einfach es ist, einen Google-Spiegel einzurichten.

location / {
  google on;
}

Was? Machen Sie Witze?
Ja, es ist so einfach!

Demoseite https://g2.wen.lu

Demoseite

Abhängigkeiten

  1. pcre Unterstützung für reguläre Ausdrücke
  2. ngx_http_proxy_module Unterstützung für Backend-Proxy
  3. ngx_http_substitutions_filter_module Unterstützung für mehrere Ersetzungen

Neueste Quelle herunterladen

@siehe http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.7.8.tar.gz

Klonen von ngx_http_google_filter_module

@siehe https://github.com/cuber/ngx_http_google_filter_module

git clone https://github.com/cuber/ngx_http_google_filter_module

Klonen von ngx_http_substitutions_filter_module

@siehe https://github.com/yaoweibin/ngx_http_substitutions_filter_module

git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module

##### Brandneue Installation #####
``` bash
#
## NGINX individuell konfigurieren
## Ersetzen Sie </path/to/> durch Ihren tatsächlichen Pfad
#
./configure \
  <your configuration> \
  --add-module=</path/to/>ngx_http_google_filter_module \
  --add-module=</path/to/>ngx_http_substitutions_filter_module

Migration von einer bestehenden Distribution
#
## Holen Sie sich die Konfiguration des bestehenden NGINX
## Ersetzen Sie </path/to/> durch Ihren tatsächlichen Pfad
#
</path/to/>nginx -V
> nginx version: nginx/ <version>
> built by gcc 4.x.x
> configure arguments: <configuration>

#
## Laden Sie die gleiche Version des NGINX-Quellcodes herunter
## @siehe http://nginx.org/en/download.html
## Ersetzen Sie <version> durch Ihre NGINX-Version
#
wget http://nginx.org/download/nginx-<version>.tar.gz

#
## NGINX konfigurieren
## Ersetzen Sie <configuration> durch Ihre NGINX-Konfiguration
## Ersetzen Sie </path/to/> durch Ihren tatsächlichen Pfad
#
./configure \
  <configuration> \
  --add-module=</path/to/>ngx_http_google_filter_module \
  --add-module=</path/to/>ngx_http_substitutions_filter_module
#
## Wenn einige Bibliotheken fehlen, sollten Sie diese mit dem Paketmanager installieren
## z.B. apt-get, pacman, yum ...
#

Verwendung

Grundkonfiguration

resolver wird benötigt, um Domains aufzulösen.

server {
  # ... Teil der Serverkonfiguration
  resolver 8.8.8.8;
  location / {
    google on;
  }
  # ...
}

Google Scholar

google_scholar hängt von google ab, daher kann google_scholar nicht unabhängig verwendet werden.
Heutzutage hat Google Scholar von http auf https migriert, und ncr wird unterstützt, sodass die tld von Google Scholar nicht mehr benötigt wird.

location / {
  google on;
  google_scholar on;
}

Google Sprache

Die Standardsprache kann über google_language festgelegt werden. Wenn sie nicht eingerichtet ist, wird zh-CN die Standardsprache sein.

location / {
  google on;
  google_scholar on;
  # Sprache auf Deutsch setzen
  google_language de; 
}

Unterstützte Sprachen sind unten aufgeführt.

ar    -> Arabisch
bg    -> Bulgarisch
ca    -> Katalanisch
zh-CN -> Chinesisch (vereinfacht)
zh-TW -> Chinesisch (traditionell)
hr    -> Kroatisch
cs    -> Tschechisch
da    -> Dänisch
nl    -> Niederländisch
en    -> Englisch
tl    -> Filipino
fi    -> Finnisch
fr    -> Französisch
de    -> Deutsch
el    -> Griechisch
iw    -> Hebräisch
hi    -> Hindi
hu    -> Ungarisch
id    -> Indonesisch
it    -> Italienisch
ja    -> Japanisch
ko    -> Koreanisch
lv    -> Lettisch
lt    -> Litauisch
no    -> Norwegisch
fa    -> Persisch
pl    -> Polnisch
pt-BR -> Portugiesisch (Brasilien)
pt-PT -> Portugiesisch (Portugal)
ro    -> Rumänisch
ru    -> Russisch
sr    -> Serbisch
sk    -> Slowakisch
sl    -> Slowenisch
es    -> Spanisch
sv    -> Schwedisch
th    -> Thailändisch
tr    -> Türkisch
uk    -> Ukrainisch
vi    -> Vietnamesisch

Spider-Ausschluss

Die Spinnen von Suchmaschinen dürfen Google-Spiegel nicht crawlen.
Die Standard-robots.txt, die unten aufgeführt ist, wurde bereits integriert.

User-agent: *
Disallow: /
Wenn google_robots_allow auf on gesetzt ist, wird die robots.txt durch die Version von Google selbst ersetzt.
  #...
  location / {
    google on;
    google_robots_allow on;
  }
  #...

Upstreaming

upstream kann Ihnen helfen, die Kosten für die Namensauflösung zu vermeiden, die Möglichkeit der Erkennung durch Google-Roboter zu verringern und über bestimmte Server zu proxyen.

upstream www.google.com {
  server 173.194.38.1:443;
  server 173.194.38.2:443;
  server 173.194.38.3:443;
  server 173.194.38.4:443;
}

Proxy-Protokoll

Standardmäßig verwendet der Proxy https, um mit Backend-Servern zu kommunizieren.
Sie können google_ssl_off verwenden, um einige Domains dazu zu zwingen, auf das http-Protokoll zurückzufallen.
Es ist nützlich, wenn Sie einige Domains über ein anderes Gateway ohne SSL-Zertifikat proxyen möchten.

#
## z.B. 
## ich möchte die Domain 'www.google.com' so proxyen
## vps(hk) -> vps(us) -> google
#

#
## Konfiguration von vps(hk)
#
server {
  # ...
  location / {
    google on;
    google_ssl_off "www.google.com";
  }
  # ...
}

upstream www.google.com {
  server < ip von vps(us) >:80;
}

#
## Konfiguration von vps(us)
#
server {
  listen 80;
  server_name www.google.com;
  # ...
  location / {
    proxy_pass https://www.google.com;
  }
  # ...
}

GitHub

Sie finden möglicherweise zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-google.