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

Nginx反向代理的配置

2016-05-23 22:32 645 查看
  • Chapter: Nginx基本操作释疑
  1. 1. Nginx的端口修改问题
  2. 2. Nginx 301重定向的配置
  3. 3. Windows下配置Nginx使之支持PHP
  4. 4. Linux下配置Nginx使之支持PHP
  5. 5. 以源码编译的方式安装PHP与php-fpm
  6. 6. Nginx多站点配置的一次实践
  7. 7. Nginx反向代理的配置

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

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

view source   print?
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.py index.html;
09
 
 
10
    
server_name server;
11
 
 
12
    
location / {
13
        
#if (!-e $request_filename) {
14
        
#    rewrite ^/(.*)$ /index.py/$1 last;
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,添加 include quancha.conf 到http{}段, reload nginx就可以了。

Nginx 反向代理模板:

view source   print?
01
## Basic reverse proxy server ##
02
upstream apachephp  {
03
    
server ip:8080; #Apache
04
}
05
 
 
06
## Start www.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.html index.htm index.php;
15
 
 
16
    
## send request back to apache ##
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 error timeout invalid_header http_500 http_502 http_503 http_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              4 32k;
32
        
proxy_busy_buffers_size    64k;
33
        
proxy_temp_file_write_size 64k;
34
   
}
35
}

这就完成了 Nginx 反向代理配置。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: