无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

[分享] 利用反向代理使后台绑定域名并使用80端口和443端口安全连接

近日突发奇想,想要通过本地反向代理,将WDCP后台绑定到域名并使用80端口和SSL安全证书,下面是教程:

由于这里是使用的nginx反向代理,使用下面方法要求WDCP的“web服务引擎”中必须含有nginx才能生效。

假设要绑定的域名为 cp.example.com 本机后台端口为 8080

1. cd到nginx的站点配置目录
  1. cd /www/wdlinux/nginx/conf/vhost
复制代码



2. 新建配置文件
  1. vim cp.example.com.conf
复制代码



3.输入反向代理的配置信息
  1. server {
  2.   listen 80;
  3.   server_name        cp.sample.com;
  4.   location / {
  5.     proxy_pass 127.0.0.1:8080;
  6.     proxy_redirect off;
  7.     proxy_hide_header Vary;
  8.     proxy_set_header Accept-Encoding '';
  9.     proxy_set_header Referer $http_referer;
  10.     proxy_set_header Cookie $http_cookie;
  11.     proxy_set_header Host $host;
  12.     proxy_set_header X-Real-IP $remote_addr;
  13.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            
  14.   }
  15. }
复制代码

注意替换配置中的域名端口

4.重启nginx服务
  1. /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 了,下载并上传到服务器,运行下面命令安装
  1. tar xvfz mod_rpaf-0.6.tar.gz
  2. cd mod_rpaf-0.6
  3. /www/wdlinux/wdapache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
复制代码


6.配置wdapache
  1. vim /www/wdlinux/wdapache/conf/httpd.conf
复制代码

并在最下方添加:
  1. LoadModule rpaf_module        modules/mod_rpaf-2.0.so
  2. <IfModule mod_rpaf.c>
  3. RPAFenable On
  4. RPAFsethostname On
  5. RPAFproxy_ips 127.0.0.1  #注意再加上服务器内外网ip用空格分隔
  6. RPAFheader X-Fo
复制代码


7.重启wdapache
运行下列命令,温和重启后台服务器
  1. /www/wdlinux/wdapache/bin/apachectl -k graceful
复制代码



至此一切完成

如果你想用后台的https安全连接

就将第三部的配置文件更改为
  1. server {
  2.   listen 80;
  3.   server_name cp.example.com;
  4.   rewrite ^/(.*)$ https://cp.example.com/$1
  5.   permanent;
  6. }


  7. server
  8. {
  9.   listen 443;
  10.   server_name cp.example.com;

  11.   ssl on;
  12.   ssl_certificate /www/wdlinux/ssl.crt;
  13.   ssl_certificate_key /www/wdlinux/ssl.key;

  14.   location / {
  15.     proxy_pass 127.0.0.1:8080;
  16.     proxy_redirect off;
  17.     proxy_hide_header Vary;
  18.     proxy_set_header Accept-Encoding '';
  19.     proxy_set_header Referer $http_referer;
  20.     proxy_set_header Cookie $http_cookie;
  21.     proxy_set_header Host $host;
  22.     proxy_set_header X-Real-IP $remote_addr;
  23.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;            
  24.   }
  25. }
复制代码


上传证书文件和密钥到相应的位置 就一切完成了。

可以了,注释掉去掉 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>
菜鸟。。。

TOP

回复 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;

}
}
菜鸟。。。

TOP

楼主是好人啊。  我想请教一下啊。  能不能给我推荐几个教程啊 基础的 让我理解理解反向代理。  可不可以隐藏我的传奇SF的IP地址啊?

TOP

重要失误:第六步添加那里丢了点东西,全文是
  1. LoadModule rpaf_module        modules/mod_rpaf-2.0.so
  2. <IfModule mod_rpaf.c>
  3. RPAFenable On
  4. RPAFsethostname On
  5. RPAFproxy_ips 127.0.0.1  #注意再加上服务器内外网ip,用空格分隔
  6. RPAFheader X-Forwarded-For
  7. </IfModule>
复制代码
管理员看到帮忙编辑一下 自己不能编辑了

TOP

另外还有一个问题 就是phpmyadmin无法访问,会跳转到127.0.0.1的原始地址,不知道是不是phpmyadmin的安全机制问题,希望路过的大神解决一下

TOP

返回列表