存档

文章标签 ‘反向代理’

nginx配置反向代理使用discuz的时候无法加载验证码和安全问答

2018年6月22日 没有评论

今天配置nginx反向代理的时候,发现无法加载验证码和安全问答问题

经过研究和谷歌搜索,发现原来discuz会在头部判断用户来源

所以解决办法是在nginx的虚拟主机配置中加入:

proxy_pass_header User-Agent;

proxy_set_header Host $host;

这样才能正确加载discuz中的验证码和安全问题

如果你也遇到了在nginx中无法加载discuz中的验证码,请使用上方同样的方法,我列举一个虚拟主机的配置例子:

server {
listen 80;
server_name bbs.aaa.com;
location / {
proxy_pass http://bbs.aaa.com:82;
proxy_redirect http://bbs.aaa.com:82/ /;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header User-Agent;
proxy_set_header Host $host;

}
access_log logs/bbs.aaa.com.access.log;
}

nginx反向代理出现乱码的解决方法

2013年8月21日 没有评论

今天将最后的几个网址转移使用nginx反向代理技术

但是在转移过程中发生了乱码的问题

情况如下:

1,要转移的网站是asp做的

2,nginx监听的是80端口

3,iis监听的是81端口

用域名:81端口访问,可以正常访问,无乱码,但是直接通过nginx反向之后出现乱码,查看网站源文件,的确发现一个问题,编写在代码里面的编码是gb2312,但是很明显浏览器却识别为utf-8

不知道为什么,反正可以肯定的是nginx反向的过程中出现了问题,要不然怎么直接通过端口号访问是正确的呢?

所以考虑可能是以下2个原因:

1,nginx反向代理配置中的编码问题

2,nginx反向代理中gzip压缩的问题

通过查看和排除,原来nginx默认的编码为utf-8,而我的asp编码是gb2312,结果我修改如下,保存并重启,搞定:

charset gb2312;

那么完整的nginx反向代理出现乱码的解决方法到此结束

分类: nginx技巧 标签: ,

nginx反向代理的时候,关于目录结尾加斜杠和不加斜杠的跳转问题

2013年8月20日 没有评论

在配置nginx配置反向代理的时候,也许大家会遇到这样的问题,就是发现目录名称后面不加斜杠的话会自动跳转至原网址

比方说:

我将aaa.com反向到bbb.com的82端口

那么配置代码如下:

server {
listen       80;
server_name  aaa.com;
location / {
proxy_pass              http://bbb.com:82;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header User-Agent;
proxy_set_header Host $host;

}
access_log  logs/bbb.com.access.log;
}

这样配置确实可以,但是如果你输入aaa.com/123

123是一个目录,而不是输入aaa.com/123/

那么nginx会自动原型输出为:bbb.com:82/123/

这样是很讨厌的不是吗,因为既然是反向代理,怎么可以把被代理的潜在域名显示出来呢?

解决方法如下:

加入:proxy_redirect          http://bbb.com:82/ /;

这样可以完整解决关于目录结尾加斜杠和不加斜杠的跳转问题

nginx配置反向代理使用discuz的时候无法加载验证码和安全问答

2013年8月20日 没有评论

今天配置nginx反向代理的时候,发现无法加载验证码和安全问答问题

经过研究和谷歌搜索,发现原来discuz会在头部判断用户来源

所以解决办法是在nginx的虚拟主机配置中加入:

proxy_pass_header User-Agent;

proxy_set_header Host $host;

这样才能正确加载discuz中的验证码和安全问题

如果你也遇到了在nginx中无法加载discuz中的验证码,请使用上方同样的方法,我列举一个虚拟主机的配置例子:

 

server {
listen       80;
server_name  bbs.aaa.com;
location / {
proxy_pass              http://bbs.aaa.com:82;
proxy_redirect          http://bbs.aaa.com:82/ /;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header User-Agent;
proxy_set_header Host $host;

}
access_log  logs/bbs.aaa.com.access.log;
}

nginx反向代理的相关要求

2013年8月1日 没有评论

———————-
1,公司服务器上的二级域名,如:baidu.com.hao123.com,下面都应该加上空的robos.txt,内容如下:
User-agent: *
Disallow: /

2,所有二级域名上线做优化的,必须使用干净的404,内容如下:


403 Forbidden

Forbidden

You don’t have permission to access /
on this server.

3,香港VPS上必须单独配置robots.txt的指向到www.baidu.com/robots_none.txt
(只要反向到国内服务器,反向到自身服务器81/82端口不需要)

————————————————————————————————

分类: nginx技巧 标签:
css.php