Tutorial de construção de proxy reverso Nginx

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

Configurar variáveis ​​de ambiente

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;
        }
    }
}

 

Acho que você gosta

Origin www.cnblogs.com/hlikex/p/12729246.html
Recomendado
Clasificación