当前位置:首页 > 服务器系统 > Centos > 正文内容

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

一二三5年前 (2020-12-23)Centos950

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
分享给朋友:

相关文章

mysql(mariadb)数据库集群故障处理及数据导入导出

1、3台数据库的集群(版本为mariadb10.3.8),有一台服务器down,另外两台就无法工作了--- 脑裂了!: WSREP has not yet&n...

nginx常用内置变量

$args #请求中的参数值$query_string #同 $args$arg_NAME #GET请求中NAME的值$is_args #如果请求中有参数,值为"?",否则为空字符...

Centos7 使用scp命令进行数据迁移

复制文件(本地>>远程):scp -P 33699 /etc/nginx/conf.d/default.conf root@10.88.1.23:/...

Centos 扩展磁盘大小实战 Linux 磁盘分区扩容

yum install cloud-utils-growpart yum install xfsprogs LANG=en_US.UTF-8 growpa...

Centos7 mariadb 10.5数据库的数据目录修改

1、查看MySQL/MariaDB数据库的数据目录MariaDB [(none)]> select @@datadir;+-----------------+| @@datadir ...

MySQL数据库的数据备份和恢复(导入和导出)命令操作语法

1、mysql导出数据库命令mysqldump -h[主机所在IP] -u[用户名] -p [要导出的数据库]>[导出的路径//[文件名].sql]1)mysqldump字符集设置mysqldu...