




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar反向绑定域名,即将域名B绑定到域名A上,用户只要访问B就等同于进入A,内容都是由A提供,它有点像建立了一个A的镜像。什么时候要用到反向绑定域名?服务器集群和网站负载均衡时,把用户访问请求发送不同的服务器上。关于反向绑定域名的方法部落之前也分享过好几次,本篇文章就来详细介绍一下Nginx反向绑定域名方法。之所以要用Nginx,主要在于Nginx在反向绑定域名有着天然的优势,并且功能强大,可以满足我们更多更高的应用需求。平常我们都是用Nginx反向绑定域名来搞定无法绑定域名的空间,这次来分享一下搞定Google和Gravatar两个网站访问的问题,更多的有关于反向绑定域名的方法还有:1. 多种应用:反向绑定域名的方法-强制绑定域名,实现负载均衡,域名内网转发;2. 简单操作:反向绑定域名方法-Nginx反向配置和kangle服务器反向设置;3. 虚拟主机:7ghost基于PHP的网站反向绑定域名程序无需.htaccess的URL重写。注意:上面提到的Nginx反向绑定域名都需要用到VPS主机,如果你只有虚拟主机,则可以试试7ghost。Nginx反向绑定域名方法和详细操作应用实例:Google和Gravatar一、Nginx安装和基本操作命令1、Nginx可以直接使用LNMP这样的一键安装包,例如:LNMP新版VPS主机控制面板安装。2、如果你是用一个专门的服务器来作反向绑定域名用,则只需要安装一个Nginx即可,为VPS主要省点资源。命令: wget http:/sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 ./configure -user=www -group=www -prefix=/usr/local/nginx -with-http_stub_status_module -with-http_ssl_module -with-ipv6 make & make install3、如果在执行以上命令遇到./configure: error: the HTTP rewrite module requires the PCRE library.错误提示,运行:yum -y install pcre-devel openssl openssl-devel4、执行以下命令,把ngx_http_substitutions_filter_module模块编译进去,主要为了反向绑定域名过滤到页面的URL地址。 git clone /yaoweibin/ngx_http_substitutions_filter_module.git ./configure -prefix=/usr/local/nginx -with-http_stub_status_module -with-http_ssl_module -with-http_gzip_static_module -with-ipv6 -add-module=/root/nginx-0.7.64/ngx_http_substitutions_filter_module make & make install5、最后添加www用户,启动Nginx服务。 /usr/sbin/groupadd -f www /usr/sbin/useradd -g www www /usr/local/nginx/sbin/nginx6、或者,你也可以直接使用以下命令: cd /tmp git clone git://yaoweibin/ngx_http_substitutions_filter_module.git # nginx 的过滤器模块(比http_sub_module更加灵活) wget /download/nginx-1.7.7.tar.gz tar -xzvf nginx-1.7.7.tar.gz cd /tmp/nginx-1.7.7 ./configure -prefix=/www/wdlinux/nginx # 安装位置 -with-http_ssl_module -with-http_sub_module -with-http_gzip_static_module -with-http_stub_status_module -add-module=/tmp/ngx_http_substitutions_filter_module # 添加nginx过滤器模块 make & make install7、Nginx的配置文件一般是在:/usr/local/nginx/conf 这个目录下nginx.conf。8、修改了nginx.conf文件后,记得先检测一下语法是否正常:/usr/local/nginx/sbin/nginx -t,防止重启Nginx后服务器不正常。9、Nginx重启命令:/usr/local/nginx/sbin/nginx -s reload 或者 kill -HUP cat /usr/local/nginx/logs/nginx.pid 或者 service nginx resatrt10、上面介绍的两种安装方法适合有一定VPS经验的朋友,这里还有一个适合新手朋友的安装命令: yum -y install gcc automake autoconf libtool make yum install gcc gcc-c+ cd /usr/local/src wget ftp:/ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz tar -zxvf pcre-8.34.tar.gz cd pcre-8.34 ./configure make make install cd /usr/local/src wget /zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure make make install cd /usr/local/src wget /source/openssl-1.0.1c.tar.gz tar -zxvf openssl-1.0.1c.tar.gz cd /usr/local/src wget /download/nginx-1.4.2.tar.gz tar -zxvf nginx-1.4.2.tar.gz cd nginx-1.4.2 git clone /yaoweibin/ngx_http_substitutions_filter_module.git ./configure -sbin-path=/usr/local/nginx/nginx -conf-path=/usr/local/nginx/nginx.conf -pid-path=/usr/local/nginx/nginx.pid -with-http_ssl_module -with-http_sub_module -with-http_gzip_static_module -with-http_stub_status_module -with-pcre=/usr/local/src/pcre-8.34 -with-zlib=/usr/local/src/zlib-1.2.8 -add-module=/usr/local/src/nginx-1.4.2/ngx_http_substitutions_filter_module -with-openssl=/usr/local/src/openssl-1.0.1c make make install /usr/local/nginx/nginx二、Nginx反向绑定域名:最基本的方法1、下面是一段最基本的Nginx反向绑定域名代码: server listen 80; server_name ; location / proxy_pass /; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 2、你只需要修改server_name和proxy_pass的值即可。保存nginx.conf,重启Nginx,打开你的域名,就可以看到反向的效果了。3、如果想要反向绑定百度,直接把域名修改为百度的域名。4、然后打开自己的域名,就可以看到是百度了。三、Nginx反向绑定域名:带SSL证书1、为了能够保证自己反向绑定的“安全”,一般建议使用SSL证书。SSL证书现在购买也不是很贵,参考:Namecheap SSL证书购买和SSL激活安装使用方法和新Godaddy Cpanel主机安装Godaddy SSL证书方法。2、Nginx使用SSL进行反向绑定域名,修改nginx.conf如下: server listen 80; server_name ; location / rewrite /(.*)$ $1 permanent; server listen 443; server_name ; if ($host = ) rewrite /(.*)$ $1 permanent; ssl on; ssl_certificate /root/myssl/myssl.crt; ssl_certificate_key /root/myssl/privkey.key; location / proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_pass ; proxy_set_header Host ; proxy_set_header Accept-Encoding ; proxy_set_header User-Agent $http_user_agent; 3、代码对www和非www请求都统一到了Https的非www请求上了。ssl on是开启SSL,ssl_certificate 和ssl_certificate_key 是连接CRT和Key文件,你需要修改成你自己的路径。4、不想购买付费的SSL证书的朋友,可以申请免费的StartSSL证书,已经被90%以上的浏览器所认可并支持:StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全四、Nginx反向绑定域名:subs_filter优化请求和解决Google验证码问题1、上面我们已经将ngx_http_substitutions_filter_module模块编译进入到了Nginx,这个模块主要是为了将网页中的所请求都转发自己的服务器。2、在location 中加入以下代码,类似: location / proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_pass ; proxy_set_header Host ; proxy_set_header Accept-Encoding ; proxy_set_header User-Agent $http_user_agent; subs_filter ; subs_filter ; subs_filter_types text/css text/xml text/javascript; 3、单个IP地址如果在短时间内对Google发送大量的IP请求,会被Google判定为机器人,从而出现搜索验证码的情况,为了解决这个问题,我们可以在Http层加入以下代码,类似于: upstream google server :80 max_fails=3; server :80 max_fails=3; server :80 max_fails=3; server :80 max_fails=3; server :80 max_fails=3; server listen 80; server_name ; location / rewrite /(.*)$ $1 permanent; 4、upstream google 写了Google的服务器IP地址,如果请求量非常大的话,建议多写一些。五、Nginx反向绑定域名:使用Nginx缓存来加速访问请求1、nginx 自带的 proxy_cache 模块可以实现访问缓存,即第二次访问可以直接从自己的服务器读取相应的数据了,而不需要再来一次中转请求了。2、先在Http层加入以下代码,类似: proxy_cache_path /home/cache/freehao123 levels=1:2 keys_zone=one:10m max_size=10g; proxy_cache_key $host$request_uri; server listen 80; server_name ; location / rewrite /(.*)$ $1 permanent; 3、proxy_cache_path 是缓存目录路径,你需要提前创建好,并设置好读写权限。4、接着在location中加入以下代码,类似于: location / proxy_cache one; proxy_cache_valid 200 302 1h; proxy_cache_valid 404 1m; proxy_redirect / /; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_pass ; proxy_set_header Host ; proxy_set_header Accept-Encoding ; proxy_set_header User-Agent $http_user_agent; 5、proxy_cache 中的值要与前面的keys_zone值相同。重启Nginx后,可以使用Https访问了。6、同时打开缓存目录,能看到生成了缓存数据了。六、Nginx反向绑定域名:解决Google和Gravatar无法访问的问题1、上面的代码都是基于反向D理Google的,以下就是经部落测试有效的代码,你只需要将域名、upstream IP地址、证书路径、缓存目录等改自己的内容即可: http include mime.types; default_type application/octet-stream; sendfile on; proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; proxy_temp_path /usr/local/src/cache/temp; proxy_cache_path /usr/local/src/cache/one levels=1:2 keys_zone=one:10m inactive=7d max_size=10g; proxy_cache_key $host$request_uri; upstream google server 22:80 max_fails=3; server 14:80 max_fails=3; server 0:80 max_fails=3; server listen 80; server_name ; rewrite /(.*)$ $1 permanent; location / root html; index index.html index.htm; error_page 500 502 503 504 /50x.html; location = /50x.html root html; server listen 443; server_name ; if ($host = ) rewrite /(.*)$ $1 permanent; ssl on; ssl_certificate /usr/local/src/myssl/myssl.crt; ssl_certificate_key /usr/local/src/myssl/privkey.key; location / proxy_cache one; proxy_cache_valid 200 302 1h; proxy_cache_valid 404 1m; proxy_cache_valid 301 3d; proxy_cache_valid any 1m; proxy_cache_use_stale invalid_header error timeout http_502; proxy_redirect / /; proxy_cookie_domain ; proxy_pass http:/google; proxy_set_header Host ; proxy_set_header Accept-Encoding ; proxy_set_header User-Agent $http_user_agent; proxy_set_header Accept-Language zh-CN; proxy_set_header Cookie PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2w1IQ-Maw; subs_filter_types text/css text/xml text/javascript; subs_filter ; subs_filter ; location /gb proxy_pass /gb/; proxy_set_header Accept-Encoding ; 2、解决Gravatar头像无法显示的问题也是一样的原理,我们只需要将反向绑定的域名换成Gravatar的就行了。3、解决Gravatar头像不显示的代码,部落测试有效的如下: proxy_cache_path /home/cache/mmtaoyi levels=1:2 keys_zone=one:10m max_size=10g; proxy_cache_key $host$request_uri; server listen 80; server_name ; location / rewrite /(.*)$ $1 permanent; server listen 443; server_name ; if ($host = ) re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省哈尔滨六中2026届化学高二第一学期期末学业水平测试试题含答案
- 患儿惊厥处理流程课件
- 幼儿体育活动方案设计
- 员工入职培训方案
- 学雷锋活动总体方案
- XX年幼儿园元旦主题活动方案策划稿
- 科举院考试题及答案
- 直播脚本考试题及答案
- 木工考试题及答案
- 绍兴规划面试题及答案
- 手办代理销售合同范本
- 柴油供货运输服务方案
- 释经学的重要原则
- 精选青少版新概念1B-unit1课件
- b737培训课件49-6章apu滑油本是针对飞机737CL机型级的概述
- 邮政储汇业务员高级技师理论知识试卷5套(完整版)
- YS/T 420-2000铝合金韦氏硬度试验方法
- 第一章-X射线衍射分析
- GB 21670-2008乘用车制动系统技术要求及试验方法
- 居家适老化改造需求评估表
- 燃气专项规划调研资料汇总信息
评论
0/150
提交评论