利用反向代理使后台绑定域名并使用80端口和443端口安全连接
近日突发奇想,想要通过本地反向代理,将WDCP后台绑定到域名并使用80端口和SSL安全证书,下面是教程:[b]由于这里是使用的nginx反向代理,使用下面方法要求WDCP的“web服务引擎”中必须含有nginx才能生效。[/b]
假设要绑定的域名为 cp.example.com 本机后台端口为 8080
1. cd到nginx的站点配置目录
[code]cd /www/wdlinux/nginx/conf/vhost[/code]
2. 新建配置文件
[code]vim cp.example.com.conf[/code]
3.输入反向代理的配置信息
[code]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;
}
}[/code]
注意替换配置中的[b]域名[/b]和[b]端口[/b]。
4.重启nginx服务
[code]/www/wdlinux/nginx/sbin/nginx -s reload[/code]
[b]现在开始就已经可以正常的访问功能,但是由于是反向代理,后台显示的IP全都是127.0.0.1,这样会造成很多问题,于是我们应该借助后台使用的Apache的MOD解决这个问题[/b]
5.下载并安装 mod_rpaf
由于网上流畅的mod_rpaf下载地址已经失效,我吧文件就放在 http://pan.baidu.com/s/1gdq6FFP 了,下载并上传到服务器,运行下面命令安装
[code]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[/code]
6.配置wdapache
[code]vim /www/wdlinux/wdapache/conf/httpd.conf[/code]
并在最下方添加:
[code]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[/code]
7.重启wdapache
运行下列命令,温和重启后台服务器
[code]/www/wdlinux/wdapache/bin/apachectl -k graceful[/code]
[b]至此一切完成[/b]
如果你想用后台的https安全连接
就将第三部的配置文件更改为
[code]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;
}
}[/code]
并 [b]上传证书文件和密钥到相应的位置[/b] 就一切完成了。 [b]另外还有一个问题 就是phpmyadmin无法访问,会跳转到127.0.0.1的原始地址,不知道是不是phpmyadmin的安全机制问题,希望路过的大神解决一下[/b] [b]重要失误:[/b]第六步添加那里丢了点东西,全文是[code]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>[/code]管理员看到帮忙编辑一下 自己不能编辑了 楼主是好人啊。 我想请教一下啊。 能不能给我推荐几个教程啊 基础的 让我理解理解反向代理。 可不可以隐藏我的传奇SF的IP地址啊? [b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=70766&ptid=39836]1#[/url] [i]HanYec[/i] [/b]
我使用的是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 ;
[color=#ff0000]rewrite ^/phpmyadmin$ /phpmyadmin/ permanent;[/color]
location / {
proxy_pass http://192.168.188.32:9090;
}
} 可以了,注释掉去掉 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>
页:
[1]