您的位置:首页 > 运维架构 > 反向代理

Nginx反向代理的配置

2015-11-08 15:38 621 查看
Nginx作为web服务器一个重要的功能就是反向代理。其实我们在前面的一篇文章《Nginx多站点配置的一次实践》里,用的就是
Nginx的反向代理,这里简单再提一下。

下面是配置Nginx作为
tornado的反向代理的设置:

01
upstream
tornado{
02
server
127.0.0.1:8888;
03
}
04
05
server
{
06
listen
80;
07
root
/root/nmapp2_venv;
08
index
index.pyindex.html;
09
10
server_name
server;
11
12
location
/{
13
#if
(!-e$request_filename){
14
#
rewrite^/(.*)$/index.py/$1last;
15
#}
16
}
17
18
location
~/index\.py{
19
proxy_pass_header
Server;
20
proxy_set_header
Host$http_host;
21
proxy_set_header
X-Real-IP$remote_addr;
22
proxy_set_header
X-Scheme$scheme;
23
proxy_pass
http:
//tornado;
24
}
25
}
Nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。

再举一个例子吧。比如要配置后端跑apache服务的ip和端口,也就是说,我们的目标是实现通过http://ip:port能访问到你的网站。

只要新建一个vhost.conf,加入如下内容(记得修改ip和域名为你的ip和域名)。修改nginx.conf,添加includequancha.conf到http{}段,reloadnginx就可以了。

Nginx反向代理模板:

view
source

print?

01
##
Basicreverseproxyserver##
02
upstream
apachephp{
03
server
ip:8080;#Apache
04
}
05
06
##
Startwww.nowamagic.net##
07
server
{
08
listen
80;
09
server_name
www.nowamagic.net;
10
11
access_log
logs/quancha.access.
log
main;
12
error_log
logs/quancha.error.
log
;
13
root
html;
14
index
index.htmlindex.htmindex.php;
15
16
##
sendrequestbacktoapache##
17
location
/{
18
proxy_pass
http:
//apachephp;
19
20
#Proxy
Settings
21
proxy_redirect
off;
22
proxy_set_header
Host$host;
23
proxy_set_header
X-Real-IP$remote_addr;
24
proxy_set_header
X-Forwarded-For$proxy_add_x_forwarded_for;
25
proxy_next_upstream
errortimeoutinvalid_headerhttp_500http_502http_503http_504;
26
proxy_max_temp_file_size
0;
27
proxy_connect_timeout
90;
28
proxy_send_timeout
90;
29
proxy_read_timeout
90;
30
proxy_buffer_size
4k;
31
proxy_buffers
432k;
32
proxy_busy_buffers_size
64k;
33
proxy_temp_file_write_size
64k;
34
}
35
}
这就完成了Nginx反向代理配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: