本文作者:温文曦

反向绑定域名方法-Nginx反向配置和kangle服务器反向设置

温文曦 12个月前 ( 12-17 ) 5661 抢沙发 百度已收录
反向绑定域名方法-Nginx反向配置和kangle服务器反向设置 摘要: 反向绑定域名也叫做反向D理,是指用D理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端...

反向绑定域名方法-Nginx反向配置和kangle服务器反向设置

反向绑定域名也叫做反向D理,是指用D理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时D理服务器对外就表现为一个服务器。

什么时候要用到反向绑定域名呢?反向绑定可以分流请求和负载均衡,因此它广泛用于一些大流量的网站和数据集群,降低系统负载。对于一些不能直接绑定域名的主机空间,我们可以用反向绑定域名的方法来强制绑定自己的域名。

例如购买了阿里云服务器,没有BA的域名就不能绑定,这时我们用反向绑定域名方法就可以搞定了,其它的国内空间要绑定域名也是一样。本篇文章就来分享一下使用VPS主机的Nginx反向配置和kangle服务器反向设置来搭建反向D理服务器。

如果你没有VPS主机,也可以使用虚拟主机空间,没有付费的空间也可以使用免费空间:

反向绑定域名方法-Nginx反向配置和kangle服务器反向设置

一、反向绑定域名方法一:Nginx反向配置

1、要使用Nginx反向配置,你需要一个已经安装了Nginx的VPS主机,部落用的是LNMP,创建一个虚拟机,绑定域名:alili.freehao123.info.

2、执行:cd /usr/local//conf/vhost,找到alili.freehao123.info.conf这个文件,删除其中的内容,将以下代码替换保存,上传,覆盖。

server {
        listen  80;
        server_name  alili.freehao123.info;
    
        location / {
        proxy_pass https://115.28.7.69:8080;
        proxy_redirect off;
       #媒体过期时间设长一些
         if ($request_filename ~* .*\.(gif|jpg|jpeg|png|bmp|swf)$)
         {
        expires      30d;
         }
         #js和css过期时间设置为12小时;
         if ($request_filename ~ .*\.(js|css)?$)
         {
        expires      12h;
         }
       proxy_set_header Host 115.28.7.69;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header Content-Type  $content_type;
       #proxy_hide_header Content-Type;
    }
	
 }

3、其中proxy_pass和proxy_set_header Host是阿里云服务器的IP地址。有关阿里云VPS评测参考:阿里云服务器ECS性能与速度简单测试

4、阿里云服务器也是安装了LNMP,同样也是创建一个虚拟机,绑定的域名也是alili.freehao123.info,找到该域名conf这个文件,是改动的就是listen ,其它的都是一样的。

Nginx反向配置代码

5、这是我的阿里云服务器的Nginx反向配置,大家可以参考一下。

log_format  alili.freehao123.info  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
server
	{
		listen       8080;
		server_name alili.freehao123.info localhost;
		index index.html index.htm index.php default.html default.htm default.php;
		root  /home/wwwroot/alili.freehao123.info;

		include wordpress.conf;
		location ~ .*\.(php|php5)?$
			{
				try_files $uri =404;
				fastcgi_pass  unix:/tmp/php-cgi.sock;
				fastcgi_index index.php;
				include fcgi.conf;
			}

		location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
			{
				expires      30d;
			}

		location ~ .*\.(js|css)?$
			{
				expires      12h;
			}

		access_log  /home/wwwlogs/alili.freehao123.info.log  alili.freehao123.info;
	}

6、改完配置后,执行:/usr/local/nginx/sbin/nginx -t,如果出现:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok和nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful表示修改代码正确。

Nginx反向配置检查是否正确

二、Nginx反向配置绑定域名效果

1、将域名解析到阿里云服务器上。

Nginx反向配置解析域名地址

2、待DNS解析生效后,就可以打开域名访问到了阿里云服务器了。

Nginx反向配置打开域名到服务器

3、用站长工具测试,域名解析到的还是美国VPS的IP地址。

Nginx反向配置解析到美国IP

三、kangle安装和使用教程

1、kangle官网:

  • 1、官方首页:https://www.kanglesoft.com/

2、kangle又叫kangle web服务器,是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代@理服务器软件。kangle的访问控制理念来自linux的iptables防火墙。

3、kangle实现很多最小化的匹配模块和标记模块,通过组合,反转可以实现最复杂的需求,从而实现强大的访问请求控制,如:url,ip地址,连接数/网速限制,http头,时间控制,多种http认证,服务器负载,url重定向,url重写,内容过滤等等。

4、执行以下代码,就可以在Linux安装上kangle了。(注:kangle可以安装在linux、windows、freebsd、openbsd、netbsd、solaris等)

yum -y install wget make automake gcc gcc-c++ pcre-devel zlib-devel sqlite-devel openssl-devel

wget https://www.kanglesoft.com/download/zcore.php?os=src

tar xzf kangle-*.tar.gz

cd kangle-*

./configure --prefix=/vhs/kangle --enable-disk-cache --enable-ipv6 --enable-ssl --enable-vh-limit

make

make install

/vhs/kangle/bin/kangle

kangle启动服务

5、通过浏览器打开https://服务器ip地址:3311/ ,第一次进入输入 用户名admin,密码kangle。

kangle安装

6、这是kangle后台管理中心,有请求控制、回应控制、扩展、虚拟主机、回写数据、配置等功能。(点击放大)

kangle管理中心

四、反向绑定域名方法二:kangle反向绑定服务器

1、依次进入“扩展-->单节点服务器”设置源服务器。

kangle单节点服务器

2、这里名字随便填写,反向代@理协议是Http,主机地址可以填写域名,也可填写ip地址。生存时间是访问结束,继续和服务器保持连接的时间。单位是:秒。生存时间默认为“0”,为“0”使用的则是短连接(访问结束,立即断开)。

kangle设置域名

3、点击提交后,就可以看到自己反代的域名了。

kangle点击提交

4、接着我们就进入“请求控制”,点击插入。

kangle请求控制

5、在匹配模处选择“host”模块。

kangle选择模块

6、接着在目标中选择你刚刚添加的反代的域名服务器名称,Host处填写你的域名。

kangle填写域名

7、点击提交后,你就可以看到域名反代完成了,此时如果域名已经解析到了该VPS主机,就会根据kangle的设定访问到了阿里云服务器了。

kangle反向域名完成

8、除了上面使用单节点服务器反向绑定域名的方法,我们还可以直接使用“请求控制”来反向绑定域名,登陆kangle管理后台,进入“请求控制”,“匹配模块”和“标记模块”都选择host模块。

9、接着就出现设置页面了,目标选择:继续,第一个Host输入要反代的域名,第二个Host输入反代的服务器IP地址,Port为端口号,设置“0”表示动态端口号。相关的设置参考我的:

kangle动态端口

10、按照上面两种方法设置好kangle,都可以实现域名反向绑定到空间上,kangle内置内存/磁盘两级缓存,利用kangle的“缓存”设置,我们加快反代的访问速度。

kangle缓存加快速度

五、反向绑定域名方法小结

1、反向绑定域名方法Nginx和Apache都可以,Apache利用.htaccess的重写规则实现域名绑定到另一个空间,Nginx利用conf规则配置,将域名跳转到目标服务器上。

2、kangle除了是一个反向绑定域名的服务器软件,还可以用kangle支持isapi,fastcgi,cgi,ajp,uwsgi,fcgi,hmux,http等多种扩展接口的特性,做负载均衡功能。

文章出自:免费资源部落 https://www.freehao123.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。


文章版权及转载声明

作者:温文曦本文地址:https://www.vience.cn/blog/91.html发布于 12个月前 ( 12-17 )
文章转载或复制请以超链接形式并注明出处文曦博客

赞(6
阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,5661人围观)参与讨论

还没有评论,来说两句吧...