nginx的https搭建

1、防火墙配置

复制代码
# 开放HTTP和HTTPS服务(永久生效)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 重新加载规则
firewall-cmd --reload
# 验证开放状态
firewall-cmd --list-services

2、配置账户验证

复制代码
# 安装认证工具
yum install httpd-tools -y   
# 创建认证文件
htpasswd -c /etc/nginx/.htpasswd admin
# 设置文件权限(仅Nginx可读)
chmod 600 /etc/nginx/.htpasswd
chown nginx:nginx /etc/nginx/.htpasswd

3、启用https

复制代码
# 生成自签名证书
mkdir -p /etc/ssl/private
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/nginx.key \
-out /etc/ssl/certs/nginx.crt \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=Test/CN=your_domain.com"

4、nginx配置文件

复制代码
server {
    listen 80;
    server_name your_domain.com;
    return 301 https://$server_name$request_uri; # HTTP跳转HTTPS
}

server {
    listen 443 ssl;
    server_name your_domain.com;
    
    # SSL配置
    ssl_certificate /etc/ssl/certs/nginx.crt;
    ssl_certificate_key /etc/ssl/private/nginx.key;
    ssl_protocols TLSv1.2 TLSv1.3; # 禁用旧协议
    ssl_ciphers HIGH:!aNULL:!MD5;
    
    # 账户验证
    auth_basic "Restricted Area";
    auth_basic_user_file /etc/nginx/.htpasswd;
    
    root /usr/share/nginx/html;
    index index.html;
}

5、验证与重启

复制代码
# 检查配置语法
nginx -t
# 重启Nginx
systemctl reload nginx
相关推荐
Lonely 净土3 小时前
Linux 运维文件写入操作
linux·运维·服务器·文件管理
飞英思特无线充电4 小时前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi4 小时前
利用nginx代理完成url重定位
运维·nginx
liuyicenysabel5 小时前
多服务上线日记三:
运维·服务器·笔记·学习
一只鹿鹿鹿6 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
领创工作室8 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github
吕海洋9 小时前
目前可用的docker源2026.08
运维·docker·容器
fb_1234510 小时前
Linux运维封神|SELinux详解+CentOS7启动原理+Root密码重置+开机故障排查实战
linux·运维·服务器
~|Bernard|10 小时前
Linux 定时任务(Cron)完整教程
linux·运维·服务器
小周学学学11 小时前
vmware-horizon第一章:horizon服务器安装
运维·服务器·vmware