如何配置反向代理?
按照军哥的教程https://www.vpser.net/manage/linux-vps-nginx-reverse-proxy.html修改Nginx的配置文件:server
{
listen 80;
server_name t.vpser.net;
location / {
proxy_pass http://twitter.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这样只反代首页,里面的链接都是原网站的,听说还需要安装subversion和substitutions,用subs_filter指令替换。我是lnmp0.9,Debian 6 32,军哥能否给个具体的安装命令 apt-get 或yum install subversion
cd /root
svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only
wget soft.vpser.net/lnmp/upgrade_nginx.sh;
在upgrade_nginx.sh 77行加入-add-module=/root/substitutions4nginx-read-only 注意-add 前要有空格
sh upgrade_nginx.sh 按提示输入个版本号,如 1.2.3,回车
反向代理配置如下:
server {
listen 80;
server_name youtube.vpser.net;
location / {
sub_filter www.youtube.com youtube.vpser.net;#替换原域名
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://www.youtube.com;
proxy_set_header Host www.youtube.com;
proxy_pass http://www.youtube.com; #被代理网站的网址
proxy_set_header Accept-Encoding "";
}
}
重启nginx 已经搞定!真的很强大! 学习了,可是如果域名被封的话,使用反向代理岂不是要换域名了?
或者 被封域名做国内解析,国外部分用另外一个没有被封的域名? 军哥,还有一个问题。在用subs_filter替换成中文时打开出现乱码,听说要nginx.conf 要保存成 utf8格式才能替换中文字符,具体改怎么做啊?我是用winscp更改的nginx.conf ,更改后在本地已经另存为utf-8了,怎么打开后还是gb编码的,很郁闷! 用editplus 应该可以,其他的没用过 学习下,以后用的着。。。。 原帖由 licess 于 2012-9-7 16:47 发表 https://bbs.vpser.net/images/common/back.gif
apt-get 或yum install subversion
cd /root
svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only
wget soft.vpser.net/lnmp/upgrade_nginx.sh;
在upgrade_nginx.sh...
这个代码是要加在nginx.conf里还是加到vhost里域名的.conf文件里啊?我家带vhost的域名文件里,/usr/local/nginx/sbin/nginx -t测试了 sub_filter都是失败的啊!反代要是用ssl的话是不是把 80端口改成443就行了?还需要改别的代码吗?
[ 本帖最后由 wozhidao 于 2012-9-17 12:38 编辑 ] 原帖由 licess 于 2012-9-7 16:47 发表 https://bbs.vpser.net/images/common/back.gif
apt-get 或yum install subversion
cd /root
svn checkout http://substitutions4nginx.googlecode.com/svn/trunk/ substitutions4nginx-read-only
wget soft.vpser.net/lnmp/upgrade_nginx.sh;
在upgrade_nginx.sh...
反代用ssl的话要用什么代码啊?求助啊。
回复 9# 的帖子
这个不大了解,可能和https://www.vpser.net/manage/namecheap-free-ssl-nginx.html 这个差不多吧 想问下网址如何替换啊比如这个 http://www.xxx.com/read.php?tid=801922&fpage=0&toread=&page=1就访问不了,求替换成
http://www.xxx.com/htm_data/7/1209/801922.html 的Rewrite规则替换方法
就是图片里《 这个我点一下就返回原网址了,点其他的12345都正常的
我加了以下这些都不行哇。。。
server
{
listen 443;
server_name www.自己的.com;
index index.html index.htm index.php;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
location /
{
proxy_redirect off;
subs_filter 'www.目标.com' 'www.自己的.com' gi;
subs_filter '<(iframe.*?)>[\s\S]*?<(\/iframe.*?)>' '' gi;
subs_filter '<(script.*?)>[\s\S]*?<(\/script.*?)>' '' gi;
subs_filter '<(noscript.*?)>[\s\S]*?<(\/noscript.*?)>' '' gi;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://www.目标.com;
proxy_set_header Host www.目标.com;
proxy_set_header X-Forwarded-Proto https;
proxy_pass http://www.目标.com;
proxy_set_header Accept-Encoding "";
}
access_logoff;
}原帖由 licess 于 2012-9-17 15:51 发表 https://bbs.vpser.net/images/common/back.gif
这个不大了解,可能和https://www.vpser.net/manage/namecheap-free-ssl-nginx.html 这个差不多吧
[ 本帖最后由 wozhidao 于 2012-9-18 22:16 编辑 ]
页:
[1]