nginx 反向代理搭建教程

前言

因为要做Google学术反向代理,正好nginx有个对应的模块,但版本不支持最新版nginx所以选择了旧版nginx 1.78版本,系统版本centos7。

安装Nginx

安装依赖

复制代码
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel  git make

下载nginx

复制代码
wget "http://nginx.org/download/nginx-1.7.8.tar.gz"

下载google 扩展

复制代码
git clone https://github.com/cuber/ngx_http_google_filter_module

下载 substitutions 扩展

复制代码
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module

解压&进入源码目录

复制代码
tar xzvf nginx-1.7.8.tar.gz
cd nginx-1.7.8

编译安装

复制代码
./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  //编辑文件
 
export PATH=$PATH:/usr/sbin/nginx/sbin  //添加该行

source ~/.bashrc  //生效

 nginx管理

复制代码
nginx //启动
nginx -s stop  //停止
nginx -s reload //重启

 

修改nginx配置文件

复制代码
复制代码
server {

    listen 443 ssl;
    server_name 域名;
    ssl_certificate /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:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    resolver 8.8.8.8;
    
    location / {
        subs_filter_types *;
        google on;
        google_scholar on;
    }
}

复制代码

该模块是将学术和搜索合并在一起的,通过两个域名实现url重写将学术绑定独立域名

复制代码
复制代码
    server {
        listen 443 ssl;
        server_name xx.pro;  #域名
        ssl_certificate /etc/nginx/ssl/xx.pro_chain.crt;
        ssl_certificate_key /etc/nginx/ssl/xx.pro_key.key; 
        
        location / {

        if ($request_uri ~* "/scholar\?"){
            proxy_pass https://www.xx.pro/scholar?$args;
            break;
        }
            proxy_pass https://www.xx.pro/scholar/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
复制代码

 

posted @   Hlikex  阅读(658)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示