https nginx 负载均衡配置

我的系统是OpenEuler。

  • 安装nginx
bash 复制代码
yum install -y nginx
  • 启动&开机启动
bash 复制代码
systemctl start nginx
systemctl enable nginx
  • 自定义conf配置文件
bash 复制代码
cat <<EOF >> /etc/nginx/conf.d/load_balancer.conf
upstream backend {
	ip_hash; # 防止验证码验证失败
	server 192.168.1.150:443;
	server 192.168.1.153:443;
}

server {
	listen 80;
	# 使用 IP 地址作为 server_name
	server_name 192.168.1.155;
	# 将 HTTP 请求重定向到 HTTPS
	return 301 https://$host$request_uri;
	# 日志配置
	access_log /var/log/nginx/192.168.1.155_http_access.log;
	error_log /var/log/nginx/192.168.1.155_http_error.log;
}

server {
	listen 443 ssl;
	# 使用 IP 地址作为 server_name
	server_name 192.168.1.155;

	# SSL 证书配置,使用自签名证书
	ssl_certificate /opt/crt/server.crt;
	ssl_certificate_key /opt/crt/server.key;

	# SSL 优化配置
	ssl_protocols TLSv1.2 TLSv1.3;
	ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
	ssl_prefer_server_ciphers on;

	# 日志配置
	access_log /var/log/nginx/192.168.1.155_https_access.log;
	error_log /var/log/nginx/192.168.1.155_https_error.log;

	# 错误处理配置
	error_page 404 /404.html;
	error_page 500 502 503 504 /50x.html;

	location = /404.html {
		root /usr/share/nginx/html;
	}

	location = /50x.html {
		root /usr/share/nginx/html;
	}

	location / {
		proxy_pass https://backend;
		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_set_header X-Forwarded-Proto $scheme;
		# 处理 HTTPS 相关配置
		proxy_ssl_server_name on;
	}
}
EOF
  • 检查配置文件的语法是否正确
bash 复制代码
nginx -t
  • 重新加载 Nginx 配置
bash 复制代码
nginx -s reload
  • OpenSSL 生成自签名证书
bash 复制代码
openssl genpkey -algorithm RSA -out server.key -pkeyopt rsa_keygen_bits:2048
        
openssl req -new -key server.key -out server.csr #【这一步建议绑定ip】
    
openssl x509 -req -in server.csr -signkey server.key -out server.crt -days 36500
  • 开启443端口
bash 复制代码
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
  • 验证
bash 复制代码
curl -k https://192.168.1.155
相关推荐
落叶花开又一年41 分钟前
检验检测机构资质认定远程评审工作程序
linux·运维·服务器
wanhengidc41 分钟前
《三国志异闻录》搬砖新游戏 云手机
运维·服务器·数据库·游戏·智能手机
旺仔.2911 小时前
僵死进程及Linux文件操作 详解
linux·运维·服务器
于慨2 小时前
tauri
java·服务器·前端
十巷无终3 小时前
Kali Virtual Machines(虚拟机镜像)安装后问题及解决办法
linux·运维·服务器
你有按下913的勇气吗3 小时前
【Agent,RAG,Transform】
linux·运维·服务器
小义_3 小时前
随笔 1(Linux)
linux·运维·服务器·网络·云原生·红帽
向往着的青绿色4 小时前
雷池(SafeLine)社区版免费部署教程|从环境检查到防护实操全流程
网络·计算机网络·nginx·网络安全·容器·网络攻击模型·信息与通信
HalvmånEver4 小时前
Linux:socket套接字编程的基础概念
linux·运维·服务器
二进制person5 小时前
JavaEE初阶 --网络初识
运维·服务器·网络