Loading... <p>需求<br />一个网站,客户主要分布在亚洲其它国家和地区,如日本台湾新加坡马来西亚印度香港等。而服务器放在上海。国外用户访问速度不快。现在需要提高国外用户的访问速度。<br />最 终定下来的方案,就是在多个国家租用最便宜的vps做反向代理和缓存,通过智能解析把不同国家的访问定位到不通的vps上。这个简单来说就是自己做了个 cdn网络。这个方案里涉及到很多问题。比如各vps的健康检查和故障转移。这里只讨论用nginx做反向代理和缓存的几个问题<br />环境<br />1.国外vps一台,运行nginx,做缓存和反向代理<br />2.国内服务器一台,运行apache,运行一个php+mysql开发的站点<br />vps上nginx的配置<br />nginx用nginx-0.7.67.tar.gz</p><div class="quote"><div class="quote-title">引用</div><blockquote><div class="quote-content">cd /usr/src<br />wget http://nginx.org/download/nginx-0.7.67.tar.gz<br />tar xzf nginx-0.7.67.tar.gz<br />cd nginx-0.7.67<br />./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_realip_module<br />make<br />make install</div></blockquote></div><p>配置文件的主要部分如下</p><div class="quote"><div class="quote-title">引用</div><blockquote><div class="quote-content">proxy_temp_path /data/nginx_proxy_temp;<br />proxy_cache_path /data/nginx_proxy_cache levels=1:2 keys_zone=cache:50m inactive=1d max_size=3000m;<br />upstream back_end {<br />server 192.168.0.2:80;<br />}<br />server {<br />listen 80;<br />server_name www.admin99.net;<br />location / {<br />proxy_cache cache;<br />proxy_cache_valid 200 304 12h;<br />proxy_cache_key $host$uri$is_args$args;<br />proxy_set_header Host $host;<br />proxy_set_header X-Real-IP $remote_addr;<br />proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br />proxy_pass http://back_end;<br />expires 1d;<br />}<br />location ~ .*\.(php|html)?$<br />{<br />proxy_set_header Host $host;<br />proxy_set_header X-Real-IP $remote_addr;<br />proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br />proxy_pass http://back_end;<br />}<br />}</div></blockquote></div><p>apache用的是2.0.63 为了能得到用户的真实ip,在编译好之后,要增加一个模块mod_rpaf</p><div class="quote"><div class="quote-title">引用</div><blockquote><div class="quote-content">cd /usr/src<br />wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz<br />tar xzf mod_rpaf-0.6.tar.gz<br />cd mod_rpaf-0.6<br />/usr/local/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c</div></blockquote></div><p>在apache的配置文件中加上一段</p><div class="quote"><div class="quote-title">引用</div><blockquote><div class="quote-content">LoadModule rpaf_module modules/mod_rpaf-2.0.so<br />RPAFenable On<br />RPAFsethostname On<br />RPAFproxy_ips 192.168.0.1<br />RPAFheader X-Forwarded-For</div></blockquote></div><p>这样就能看到访问者的真实ip</p><!-- Begin anyShare --><p><link rel="stylesheet" href="http://www.chentu.info/wp-content/plugins/anyshare/anyShare.css?v=5" /></p> <hr class="content-copyright" style="margin-top:50px" /><blockquote class="content-copyright" style="font-style:normal"><p class="content-copyright">版权属于:大漠孤狼</p><p class="content-copyright">本文链接:<a class="content-copyright" href="https://www.dmgls.com/442.html">https://www.dmgls.com/442.html</a></p><p class="content-copyright">转载时须注明出处及本声明</p></blockquote> Last modification:July 14th, 2020 at 11:53 am © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 Appreciate the author
One comment
按照博主的方法做了,页面能正常显示, 但不能登入后台。。。
环境:服务器2台, centos
前端, nginx 后端apache