标题:
[分享]
利用反向代理使后台绑定域名并使用80端口和443端口安全连接
[打印本页]
作者:
HanYec
时间:
2015-7-24 22:49
标题:
利用反向代理使后台绑定域名并使用80端口和443端口安全连接
近日突发奇想,想要通过本地反向代理,将WDCP后台绑定到域名并使用80端口和SSL安全证书,下面是教程:
由于这里是使用的nginx反向代理,使用下面方法要求WDCP的“web服务引擎”中必须含有nginx才能生效。
假设要绑定的域名为 cp.example.com 本机后台端口为 8080
1. cd到nginx的站点配置目录
cd /www/wdlinux/nginx/conf/vhost
复制代码
2. 新建配置文件
vim cp.example.com.conf
复制代码
3.输入反向代理的配置信息
server {
listen 80;
server_name cp.sample.com;
location / {
proxy_pass 127.0.0.1:8080;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
复制代码
注意替换配置中的
域名
和
端口
。
4.重启nginx服务
/www/wdlinux/nginx/sbin/nginx -s reload
复制代码
现在开始就已经可以正常的访问功能,但是由于是反向代理,后台显示的IP全都是127.0.0.1,这样会造成很多问题,于是我们应该借助后台使用的Apache的MOD解决这个问题
5.下载并安装 mod_rpaf
由于网上流畅的mod_rpaf下载地址已经失效,我吧文件就放在 http://pan.baidu.com/s/1gdq6FFP 了,下载并上传到服务器,运行下面命令安装
tar xvfz mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/www/wdlinux/wdapache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
复制代码
6.配置wdapache
vim /www/wdlinux/wdapache/conf/httpd.conf
复制代码
并在最下方添加:
LoadModule rpaf_module modules/mod_rpaf-2.0.so
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 #注意再加上服务器内外网ip用空格分隔
RPAFheader X-Fo
复制代码
7.重启wdapache
运行下列命令,温和重启后台服务器
/www/wdlinux/wdapache/bin/apachectl -k graceful
复制代码
至此一切完成
如果你想用后台的https安全连接
就将第三部的配置文件更改为
server {
listen 80;
server_name cp.example.com;
rewrite ^/(.*)$ https://cp.example.com/$1
permanent;
}
server
{
listen 443;
server_name cp.example.com;
ssl on;
ssl_certificate /www/wdlinux/ssl.crt;
ssl_certificate_key /www/wdlinux/ssl.key;
location / {
proxy_pass 127.0.0.1:8080;
proxy_redirect off;
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
proxy_set_header Referer $http_referer;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
复制代码
并
上传证书文件和密钥到相应的位置
就一切完成了。
作者:
HanYec
时间:
2015-7-24 22:50
另外还有一个问题 就是phpmyadmin无法访问,会跳转到127.0.0.1的原始地址,不知道是不是phpmyadmin的安全机制问题,希望路过的大神解决一下
作者:
HanYec
时间:
2015-7-24 23:44
重要失误:
第六步添加那里丢了点东西,全文是
LoadModule rpaf_module modules/mod_rpaf-2.0.so
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 #注意再加上服务器内外网ip,用空格分隔
RPAFheader X-Forwarded-For
</IfModule>
复制代码
管理员看到帮忙编辑一下 自己不能编辑了
作者:
yueyanwen
时间:
2015-7-28 23:02
楼主是好人啊。 我想请教一下啊。 能不能给我推荐几个教程啊 基础的 让我理解理解反向代理。 可不可以隐藏我的传奇SF的IP地址啊?
作者:
cnbjx
时间:
2015-8-9 13:32
回复
1#
HanYec
我使用的是hyper-v, 物理机用nginx 反向到虚拟机。==========================================================
郁闷死,弄了半天IP还是反向的IP . 查看PHPINFO X-Real-IP X-Forwarded-For 都已经显示成真实的IP了。
这个配置难道有错误? 后台登录IP还是全部显示 192.168.188.1
LoadModule rpaf_module modules/mod_rpaf-2.0.so
<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.188.1
RPAFheader X-Forwarded-For
</IfModule>
关于 phpmyadmin , 以前测试过,反代后使用 http://wdcp.test.com/phpmyadmin 访问不了,加上 / 即 test.com/phpmyadmin/ 就可以正常访问。
我是加一条rewrite 解决。
server {
listen 80;
server_name wdcp.test.com ;
rewrite ^/phpmyadmin$ /phpmyadmin/ permanent;
location / {
proxy_pass http://192.168.188.32:9090;
}
}
作者:
cnbjx
时间:
2015-8-9 15:51
可以了,注释掉去掉 IF
LoadModule rpaf_module modules/mod_rpaf-2.0.so
#<IfModule mod_rpaf.c>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.188.1
RPAFheader X-Forwarded-For
#</IfModule>
欢迎光临 WDlinux官方论坛 (http://wdlinux.cn/bbs/)
Powered by Discuz! 7.2