当前位置:   article > 正文

使用nginx代理请求到内网_nginx实现公网ip访问内网

nginx实现公网ip访问内网

很多公司为了提高云服务器的安全性,采用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服务,大功告成!

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

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

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/690112
推荐阅读
相关标签
  

闽ICP备14008679号