使用nginx代理请求到内网

很多公司为了提高云服务器的安全性,采用nginx代理。

原料:三台云服务器,一台带有一个公网ip(),另外两台不需要公网ip,有内网ip即可,只要这三台的内网ip在同一个网段中。

准备:不带公网ip的云服务器安装好web环境,分别丢一个项目到上面。(当然数据库主从什么的也可以自行安装),带有公网ip的服务器中安装Nginx

如果以上不会的可以查看我的往期博客。

只要以上步骤完成下面的就十分简单了。

1进入Nginx的conf目录下新建reverse-proxy.conf代理文件,写入如下代码

upstream monitor_server {#内网服务器集群
        ip_hash; #是否使用ip哈希,使用可解决session问题(当然实际不推荐)
        server 172.16.0.10:8080;#内网机器1
        server 172.16.0.9:8080;#内网机器2
 }
server
{
    listen 80;   #nginx监听的端口
    server_name www.0791youxi.com;#配置你访问的域名
    location / {
        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;
        proxy_pass http://monitor_server;#这里的名称与你上面配置的名称一致
    }
    access_log logs/0791youxi.tk_access.log;#日志存放位置
}

配置完成保存即可

2.在同目录下找到Nginx.conf文件,打开并编辑。

user root root;#授权,不推荐使用root,你可以使用非root权限用户
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
    worker_connections  65535;#最大连接数(参考)
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    include /usr/local/nginx/conf/reverse-proxy.conf;#导入刚建的配置文件
    sendfile on;
    keepalive_timeout 65;
    gzip  on;
    client_max_body_size 50m; #缓冲区代理缓冲用户端请求的最大字节数,可以理解为保存到本地再传给用户
    client_body_buffer_size 256k;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    proxy_connect_timeout 300s; #nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_read_timeout 300s; #连接成功后,后端服务器响应时间(代理接收超时)
    proxy_send_timeout 300s;
    proxy_buffer_size 64k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘
    proxy_ignore_client_abort on; #不允许代理端主动关闭连接

    server {
        listen       80;
        server_name  www.0791youxi.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
             root html;
            index index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}
 

3.重启Nginx服务,大功告成!

来听起来高大上的东西这么简单!!!

该事例仅用于学习和参考,如果对你有帮助,你也可以点个赞。

 

 

 

 

 

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值