Prefácio
Devido à necessidade de ser um proxy reverso acadêmico do Google, acontece que o nginx possui um módulo correspondente, mas a versão não suporta a versão mais recente do nginx, por isso escolhi a versão antiga do nginx 1.78 e a versão do sistema centos7.
Instale o Nginx
Instalar dependências
yum instale o gcc gcc -c ++ automatize o pcre-devel zlip zlib-devel openssl openssl-devel git make
Baixar nginx
wget " http://nginx.org/download/nginx-1.7.8.tar.gz "
Faça o download da extensão do google
git clone https: // github.com/cuber/ngx_http_google_filter_module
Download da extensão substituições
git clone https: // github.com/yaoweibin/ngx_http_substitutions_filter_module
Descompacte e digite o diretório do código-fonte
tar xzvf nginx- 1.7 . 8 . tar .gz cd nginx - 1.7 . 8
Compilar e instalar
./ configure \ --prefix = / etc / nginx \ --with- http_ssl_module \
--with-http_stub_status_module \ --add -module = / root / ngx_http_google_filter_module \ --add -module = / root / ngx_http_substitutions_filter_module
vim / etc / profile // Edita o arquivo exportar PATH = $ PATH: / usr / sbin / nginx / sbin // Adicione esta linha source ~ / .bashrc // Efetivo
gerenciamento nginx
nginx // Iniciar nginx - s stop // stop nginx -s reload // Reiniciar
Modificar arquivo de configuração nginx
servidor { ouça 443 ssl; nome do domínio server_name; certificado SSL / etc / nginx / ssl / xx.pro_chain.crt; ssl_certificate_key / etc / nginx / ssl / xx.pro_key.key; ssl_session_timeout 5m; ssl_ciphers ECDHE -RSA-AES128-GCM-SHA256: ECDHE: ECDH: AES: ALTO:! NULL:! aNULL :! MD5:! ADH :! RC4; ssl_protocols TLSv1 TLSv1. 1 TLSv1.2 ; ssl_prefer_server_ciphers on; resolver 8.8.8.8 ; local / { subs_filter_types * ; google no; google_scholar on; } }
Este módulo combina pesquisa acadêmica e implementa a reescrita de URL por meio de dois nomes de domínio para vincular nomes de domínio acadêmicos a independentes
servidor { ouça 443 ssl; server_name xx.pro; #domain name certificado SSL / etc / nginx / ssl / xx.pro_chain.crt; ssl_certificate_key / etc / nginx / ssl / xx.pro_key.key; local / { if ( $ request_uri ~ * " / scholar \? " ) { proxy_pass https: //www.xx.pro/scholar? $ args ; quebrar ; } proxy_pass https: //www.xx.pro/scholar/ ; } error_page 500 502 503 504 / 50x.html; location = / 50x.html { raiz de html; } } }