nginx 同一个ip 根据不同域名 转发到不同的内网ip

复制代码
#####################changed 2010-08-11#########
#user                                   admin  admin;

#worker_processes                        8;
#worker_cpu_affinity                     00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

worker_processes                        4;
worker_cpu_affinity                     00000001 00000010 00000100 00001000;

#error_log                              /export/servers/nginx/logs/nginx_error.log  warn;
#pid                                    /export/servers/nginx/logs/nginx.pid;

worker_rlimit_nofile                    65535;

events {
                                        use epoll;
                                        worker_connections 65535;
}

http {
        include                         mime.types;
        default_type                    application/octet-stream;
        server_tokens                   off;
        log_format main                 '$remote_addr - $remote_user [$time_local] '
                                                        '"$request" $status $bytes_sent '
                                                        '"$http_referer" "$http_user_agent" ';
        charset                         utf-8;
        server_names_hash_bucket_size   128;
        client_header_buffer_size       32k;
        large_client_header_buffers     4 32k;
        client_max_body_size            300m;
        sendfile                        on;
        tcp_nopush                      on;
        keepalive_timeout               0;
        tcp_nodelay                     on;
        client_body_buffer_size         512k;

        proxy_connect_timeout           90;
        proxy_read_timeout              180;
        proxy_send_timeout              180;
        proxy_buffer_size               256k;
        proxy_buffers                   4 256k;
        proxy_busy_buffers_size         256k;
        proxy_temp_file_write_size      256k;
        proxy_hide_header               X-Powered-By;
        server_name_in_redirect         off;

        map_hash_bucket_size            1024;
        map_hash_max_size               102400;

        gzip                            on;
        gzip_min_length                 1k;
        gzip_buffers                    4 16k;
        gzip_http_version               1.0;
        gzip_comp_level                 2;
        gzip_types                      text/plain application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png;
        gzip_vary                       on;
        gzip_disable                    "MSIE[1-6]\.";

        ssi                             on;
        ssi_silent_errors               off;
        ssi_types                       text/shtml;

        lua_code_cache                  on;
        lua_need_request_body           on;
        rewrite_by_lua_no_postpone      on;

        lua_package_path                '../lua/?.lua;../lua/?/init.lua;../lualib/?.lua;../lualib/?/init.lua;;';
        lua_package_cpath               '../lualib/?.so;;';

        lua_shared_dict cacheDomains    1m;
        add_header Access-Control-Server openresty;
        add_header X-Frame-Options SAMEORIGIN;

        include domains/*.conf;
复制代码

nginx.conf 配置

在同级目录下 新建domains文件夹

比如botucarecn.conf 配置如下 其他配置大致相同 想多个域名 配置类似下 只是指向的服务器地址不同,nginx会根据匹配的域名来进行ip的转发

复制代码
upstream botucare {
        server 10.1.2.249  weight=10 max_fails=2 fail_timeout=30s;
}

server {
     listen 80;
     server_name www.xxx.com;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     location  / {
                  proxy_pass http://botucare;
                }
  }
复制代码

 

 

 

其他实用配置:

复制代码
server {
        listen       80;
        server_name  xxx.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /hanhao/nginx/web/okexhb;
            index  index.html index.htm;
        }
复制代码
include domains/*.conf;
upstream mgr {
          session_sticky;
                server 10.1.24.111:9090;
                server 10.1.24.111:8080;
    }
复制代码
server {
     listen 8989;
     server_name 10.1.24.111;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     location  / {
                  proxy_pass http://mgr;
                }
     location /status {
                 deny all;
                }

     location /dyn {
                 deny all;
                }

    }
复制代码

 

posted on   爱屋及乌88  阅读(1379)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示