您的位置首页百科问答

Nginx怎么配置反向代理

Nginx怎么配置反向代理

的有关信息介绍如下:

Nginx怎么配置反向代理

有时候,为了保护我们的服务器或者想做负载均衡等原因,我们需要反向代理来实现这个功能,今天我就来简单讲下怎么配置反向代理

假设我们有个tomcat服务,端口为8080。

这里以centos7为例,找到我们的nginx配置文件。

一般默认位置在/etc/nginx文件夹中。

查看我们的nginx主配置文件。

cat /etc/nginx/nginx.conf

我们可以看到配置文件中含有这一行

include /etc/nginx/conf.d/*.conf;

它代表nginx启动时会加载conf.d/下的所有.conf的配置文件。

我们切换到conf.d目录下

cd conf.d

创建文件tomcat.conf

vi tomcat.conf

添加如下配置:

upstream site {

# 这里为127.0.0.1,如果你的tomcat server不是本机,就写实际IP地址

server 127.0.0.1:8080;

}

server {

listen 80;

# server_name 这里填写你的域名

server_name example.com;

# 匹配静态文件,进行缓存

location ^~ static/ {

expires 30d;

# 填写你静态文件的实际地址,一般为tomcat ROOT目录下的某个文件夹

root /tomcat_server/ROOT/static/;

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|js|css|htm|zip|rar|tar|gz)$ {

expires 30d;

root /tomcat_server/ROOT/;

}

# 这里是关键的地方,这里匹配/ 进行反向代理。

location / {

# 下面的参数可以获取客户真实IP

proxy_http_version 1.1;

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size 50m;

client_body_buffer_size 128k;

proxy_buffer_size 4k;

proxy_buffers 32 4k;

proxy_busy_buffers_size 64k;

proxy_connect_timeout 30;

proxy_send_timeout 300;

proxy_read_timeout 300;

# 这个参数就是反向代理指令

proxy_pass http://site;

}

}

编辑完毕后,可以通过nginx -t测试配置文件是否正确。

不正确可以根据提示进行修改!

然后重启nginx,就可以使用nginx代理Tomcat服务了。