nginx 开启 https 反向代理Google

本人根据原作者的帖子  https://blog.linuxeye.cn/449.html  整理了一下,适合自己用的安装方式。

原帖使用的是 Let’s Encrypt 的 SSL 证书,我是申请的免费一年的 AlphaSSL 证书(目前已经无法申请)。

可以到  https://www.gogetssl.com/domain-validation/comodo-positivessl/  购买 Comodo PositiveSSL 证书,3年才十几美金。

我用的是 CentOS 6  64位系统,其他系统的请自行解决。

先升级一下系统,完了重启 VPS 。

yum -y update

然后安装一下基本软件。

yum -y install screen unzip wget ntpdate curl python
screen -S lnmp
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && cd oneinstack && ./install.sh

安装 oneinstack 一键包的时候,第一步会让你修改默认的 SSH 端口,随便填一个就可以了,不要和常用端口冲突即可。

 

 

 

 

只安装 nginx 其他的一概不安装。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

速度快的话10分钟就安装完了,按 y 重启 VPS 。

 

 

 

 

 

 

 

 

 

 

 

 

重启后再次在 screen 里运行编译代码。

cd /root/oneinstack/src && git clone https://github.com/cuber/ngx_http_google_filter_module && git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module && wget -c http://dl1.junlin.li/lnmp/pcre-8.39.tar.gz && wget -c http://dl1.junlin.li/lnmp/openssl-1.0.2j.tar.gz && tar xzf pcre-8.39.tar.gz && tar xzf openssl-1.0.2j.tar.gz && tar xzf nginx-1.12.1.tar.gz && cd nginx-1.12.1

 

下面的代码,请逐行执行。

 

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module \

--with-http_v2_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module \

--with-http_realip_module --with-http_flv_module --with-openssl=../openssl-1.0.2j \

--with-pcre=../pcre-8.39 --with-pcre-jit --with-ld-opt='-ljemalloc' \

--add-module=../ngx_http_google_filter_module \

--add-module=../ngx_http_substitutions_filter_module

make

mv /usr/local/nginx/sbin/nginx{,_`date +%m%d`}  #备份现有nginx

cp objs/nginx /usr/local/nginx/sbin/  #更新nginx

nginx -t  #检查nginx语法

service nginx restart

cd

rm -rf /root/oneinstack/src

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在 /usr/local/nginx/conf/ 目录新建一个 vhost 文件夹,配置文件放在 vhost 里面,模板如下:

 

server
        {
        listen 443 ssl http2;
        server_name g.junlin.li;
        ssl_certificate /root/ssl/junlin.crt;
        ssl_certificate_key /root/ssl/junlin.key;

        ssl_session_timeout 10m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers CHACHA20:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        resolver 8.8.8.8 8.8.4.4 valid=300s;
        resolver_timeout 5s;
	access_log  /root/log/g.junlin.li.log;

        location / 
	{
        google on;
        google_scholar on;
        google_language zh-CN;
        }
}
server
        {
        listen 80;
        server_name g.junlin.li;
        rewrite ^(.*)$ https://$host$1 permanent;
}

 

SSL 证书和日志文件路径根据自己的需求改一下,然后用命令重启 nginx 。

 

service nginx restart

 

下面图片的这个问题,我也不知道怎么解决,估计跟 IP 有关。

 

 

 

 

 

 

 

 

 

 

 

 

分享到:

1 条评论

昵称
  1. XRumerTest

    Hello. And Bye.