千家信息网

Nginx负载均衡/SSL配置的实现

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,今天就跟大家聊聊有关Nginx负载均衡/SSL配置的实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是负载均衡?当一个域名指向多台web
千家信息网最后更新 2025年02月03日Nginx负载均衡/SSL配置的实现

今天就跟大家聊聊有关Nginx负载均衡/SSL配置的实现,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

什么是负载均衡?

当一个域名指向多台web服务器时,添加一台nginx负载均衡服务器,通过nginx负载均衡即可将来自于客户端的请求均衡的发送给每台web服务器,避免单台服务器负载过高而其余服务器较为空闲的不均衡情况出现

配置nginx负载均衡:

在nginx机器上新建配置文件:

[root@centos02 ~]# vi /etc/nginx/conf.d/test.conf

添加如下内容:

upstream test {  ip_hash;   server 192.168.0.10:80 weight=100;   server 192.168.0.20:80 weight=50; } server {  listen 80;  server_name www.test.com;  location /  {   proxy_pass http://test;   proxy_set_header Host $host;   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  } }
  • upstream:负载均衡配置

  • test:自定义名,用于server{}中proxy_pass引用

  • ip_hash:将同一客户端的所有请求发送给同一服务器(如不发送给同一服务器,有可能出现客户端刚登陆网站,点击其他子页面又提示登陆)

  • server:web服务器地址

  • weight:定义权重(范围0-100),负载均衡服务器优先将请求发送给权重大的web服务器(以上示例如果有150条请求进来,192.168.0.10会被分配100条,192.168.0.20会被分配50条)

  • server_name:访问网站的域名

  • proxy_pass:引用upstream定义的名称

验证nginx配置并重载:

[root@centos02 ~]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@centos02 ~]# nginx -s reload

接下来修改客户端hosts文件将测试的域名www.test.com指向到测试的nginx负载均衡机器的IP即可访问www.test.com网站。

负载均衡配置示例补充

1.根据请求的文件配置:

upstream aa {       server 192.168.0.10;    server 192.168.0.20;   }upstream bb {     server 192.168.0.100;    server 192.168.0.101; } server {  listen  80;  server_name www.test.com;  location ~ aa.php  {   proxy_pass http://aa/;   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 ~ bb.php  {    proxy_pass http://bb/;    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://bb/;    proxy_set_header Host $host;    proxy_set_header X-Real-IP  $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  }}

请求aa.php的,会到aa组,请求bb.php的会到bb组,其他请求全部到bb组,必须要有location / {} ,否则不能正确匹配url

2.根据请求的目录配置:

upstream aa {       server 192.168.0.10;    server 192.168.0.20;   }upstream bb {     server 192.168.0.100;    server 192.168.0.101; } server {  listen  80;  server_name www.test.com;  location /dir1/  {   proxy_pass http://aa/dir1/;   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 /dir2/  {    proxy_pass http://bb/dir2/;    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://bb/;    proxy_set_header Host $host;    proxy_set_header X-Real-IP  $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  }}

#当请求uri中匹配/dir1/,代理到aa/dir1/,匹配/dir2/或者其他时,代理到bb/dir2/

nginx配置SSL证书实现通过https协议访问网站:

SSL证书申请网站:

1.https://www.wosign.com/
2.https://freessl.cn/(免费)

#通过浏览器生成后,需要在服务器创建证书文件

创建证书文件:

[root@linux ~]# mkdir /etc/nginx/ssl[root@linux ~]# cd !$cd /etc/nginx/ssl[root@linux ssl]# touch ca[root@linux ssl]# touch test.crt[root@linux ssl]# touch test.key

#将证书申请网站提供的对应证书的内容添加到ca/ .crt/ .key文件中即可

编辑nginx配置文件:

[root@linux ~]# vi /etc/nginx/conf.d/bbs.conf

添加如下内容:

listen    443 ssl;server_name test.bbs.com;ssl on;ssl_certificate /etc/nginx/ssl/test.crt;   #定义.crt文件路径ssl_certificate_key /etc/nginx/ssl/test.key;  #定义.key文件路径ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

验证配置并重载nginx:

[root@linux ~]# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful[root@linux ~]# nginx -s reload

#接下来访问网站地址栏即可显示HTTPS

curl验证方式:

curl -k -H "host:test.bbs.com" https://192.168.234.128/index.php

#host:域名,https:// webserver IP,输出结果为网站页面标签信息即表示成功

看完上述内容,你们对Nginx负载均衡/SSL配置的实现有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

均衡 配置 服务器 服务 文件 网站 内容 证书 域名 客户 验证 接下来 地址 客户端 指向 机器 示例 端的 路径 页面 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 明日之后如何查看服务器 机关单位网络安全制度条例 造物法则服务器 计费系统安全属于网络安全吗 浙江省网络安全官网 北京风林松软件开发有限公司 广州聚焦网络技术有限公司企查查 深职院网络技术专插本 最近学校有没有网络安全教育 静安区专业性软件开发售后服务 linux服务器修改安全组 网络安全特点不包括 服务器分离 艾尔登法环加速器连不上服务器 数据库怎样定义视图列名 微信记录数据库设计 淮南工程管理软件开发多少钱 华为机架式服务器主机 计算机网络技术工学 网络安全主题推广 农村小学网络安全教育 画网络安全法制宣传的手抄报 济南浪潮服务器哪个系列好 软件开发的质量控质要求 预判数据库执行语句 阿里云查看服务器状态 服务器的问文件删除怎么找回来 什么情况下会使用到代理服务器 数据库怎样定义视图列名 郑州市软件开发最低征收率
0