Nginx TCP协议 多域名配置 80单独配置

一二三4年前 (2020-12-23)Centos620

1、第一步双台机器分别安装nginx

2、如IP分别

vim /etc/nginx/conf.d/default.conf 修改端口 去掉80

域名解析IP:10.10.1.100 

中转IP:9.9.1.100

在解析IP配置NGINX

vim /etc/nginx/nginx.conf 

在最后一行加入

stream {
    server {
        listen 443;
        proxy_pass 9.9.1.100:6443;
    }
    server {
        listen 80;
        proxy_pass 9.9.1.100:6080;
    }
}
systemctl restart nginx

3、配置9.9.1.100 (SSL配置)

cd /etc/nginx

mkdir conf.d.tcp

vim /etc/nginx/nginx.conf (在最后一行加入)

stream {
    map $ssl_preread_server_name  $name {
        include /etc/nginx/conf.d.tcp/*.conf;
    }
    server {
        listen 6443;
        ssl_preread on;
        proxy_pass $name;
        
    }
}

在/etc/nginx/conf.d.tcp/下 (也可以每个域名单独的一个conf文件。文件名自定义即可(一般用域名))

vim domain.conf

ssl.uclouds.top    58.218.92.158:443;
wechat.uclouds.top 58.218.92.22:443;

 获取tcp IP的方法

stream {
    log_format proxy '$remote_addr [$time_local] '
                 '$protocol $status $bytes_sent $bytes_received '
                 '$session_time "$upstream_addr" '
                 '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
    access_log /var/log/nginx/tcp.log proxy;
    map $ssl_preread_server_name  $name {
        test.uclouds.top local_backend;
    }
    upstream local_backend {
        server 163.162.161.60:443;
    }
    server {
        listen 443;
        ssl_preread on;
        proxy_protocol on;
        proxy_connect_timeout 10s;
        proxy_timeout 30s;
        proxy_pass $name;
    }
}

获取TCP IP下nginx的方法

listen       443  ssl http2 proxy_protocol;
set_real_ip_from 0.0.0.0/0;
real_ip_header   proxy_protocol;

3、配置9.9.1.100 (80端口配置)

在/etc/nginx/conf.d/下

vim domain.conf

server {
  listen    6080;
  server_name ssl.uclouds.top;
  charset utf-8;
  proxy_redirect off; #重定向url
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  location / {
    proxy_pass http://58.218.92.158:80;
  }
}
server {
  listen    6080;
  server_name wechat.uclouds.top;
  charset utf-8;
  proxy_redirect off; #重定向url
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  location / {
    proxy_pass http://58.218.92.22:80;
  }
}

重启后测试

systemctl restart nginx

标签: Nginx

相关文章