Openshift 搭建某搜索引擎反代的一些步骤

2016-09-25 11:25:54 +08:00
 Lentin

只是一些大概步骤,仅供参考

wget http://nginx.org/download/nginx-1.11.4.tar.gz
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
wget https://www.openssl.org/source/openssl-1.1.0a.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.gz
git clone https://github.com/cuber/ngx_http_google_filter_module
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module

tar xzvf nginx-*.tar.gz
tar xzvf pcre-*.tar.gz
tar xzvf openssl-*.tar.gz
tar xzvf zlib-*.tar.gz

cd nginx-*

./configure \
  --prefix=$OPENSHIFT_DATA_DIR \
  --with-pcre=../pcre-* \
  --with-openssl=../openssl-* \
  --with-zlib=../zlib-* \
  --with-http_ssl_module \
  --add-module=../ngx_http_google_filter_module \
  --add-module=../ngx_http_substitutions_filter_module
  
make install

#参考这篇文章修改 nginx 的配置
https://blog.openshift.com/lightweight-http-serving-using-nginx-on-openshift/

#修改 nginx 配置文件
vi $OPENSHIFT_DATA_DIR/conf/nginx.conf

http {
    …
	upstream www.google.com {
		server 173.194.38.209:443;
		server 173.194.38.211:443;
		server 173.194.38.212:443;
		server 173.194.38.210:443;
		server 173.194.38.208:443;
	}
    server {
        listen       $OPENSHIFT_IP:$OPENSHIFT_PORT;
        server_name  localhost;
		google on;
		subs_filter http://example.com https://example.com;#openshift 不会将链接转换成 https ,这里需要手动替换一下
        … 
        }
    …
    }

mv $OPENSHIFT_DATA_DIR/conf/nginx.conf $OPENSHIFT_DATA_DIR/conf/nginx.conf.template

#官方文档的变量名没有更新,需要参考下面的设置
start.file

sed -e "s/`echo '$OPENSHIFT_IP:$OPENSHIFT_PORT'`/`echo $OPENSHIFT_DIY_IP:$OPENSHIFT_DIY_PORT`/" $OPENSHIFT_DATA_DIR/conf/nginx.conf.template > $OPENSHIFT_DATA_DIR/conf/nginx.conf
nohup $OPENSHIFT_DATA_DIR/sbin/nginx > $OPENSHIFT_DIY_LOG_DIR/server.log 2>&1 &

部分内容参考自 https://github.com/cuber/ngx_http_google_filter_module/blob/master/README.zh-CN.md

2374 次点击
所在节点    分享发现
17 条回复
tcp
2016-09-25 12:04:49 +08:00
Lentin
2016-09-25 12:14:15 +08:00
@tcp oh ……悲伤的故事……
su8610
2016-09-25 12:30:17 +08:00
openshift 墙内访问不行啊,超慢
Lentin
2016-09-25 12:34:18 +08:00
@su8610 加一层 CF 的 CDN 会好很多
ixinshang
2016-09-25 13:03:06 +08:00
不错 很早之前看过! 没动手弄过
jigloo
2016-09-25 13:04:04 +08:00
好顶赞。有 heroku 的克隆么?
Lentin
2016-09-25 13:18:05 +08:00
@tcp 我找到了可以用 DNS 解析的方式,具体的是 nginx 设置 resolver 的 dns ip 为 /etc/resolv.conf 里面的 IP
Lentin
2016-09-25 13:19:13 +08:00
@jigloo heroku 不支持自行编译 nginx ,如果有功夫的话可以试试用 openshift 的 DIY 手动搭建顺便练习下 nginx 的编译安装过程
Testalias
2016-09-25 13:36:01 +08:00
我的第一个梯子就是在 OpenShift 上搭的,主域名都被墙了。
Lentin
2016-09-25 13:53:10 +08:00
@Testalias 访问量不少了吧,我用的免费域名弄得
Haiwx
2016-09-26 13:12:21 +08:00
等下试一试,谢谢。
Haiwx
2016-09-26 20:10:29 +08:00
vi $OPENSHIFT_DATA_DIR/conf/nginx.conf 无法保存修改后的东西怎么办? E212
Lentin
2016-09-26 20:51:47 +08:00
Lentin
2016-09-26 20:53:38 +08:00
Haiwx
2016-09-26 22:26:41 +08:00
@Lentin 好的,谢谢~
su8610
2016-09-27 19:10:26 +08:00
我自己也搞了一个,但是访问比较慢,有什么优化的方法么?
Lentin
2016-09-29 20:20:08 +08:00
@su8610 弄上 cloudflare 的 CDN 试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/308806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX