练习nginx 的https的搭建

一、要求

1.防火墙不能关闭, 让其开发http协议和https协议

2.该网站具备账户验证

3.https

二、试验步骤

1、开启防火墙,并检查防火墙状态

2、防火墙配置开放HTTP/HTTPS

3、安装nginx,并启动 systemctl enable nginx

4、创建SSL证书和密钥

5、创建密码文件用于HTTP认证

6、将密码文件复制到Nginx配置目录并设置权限

将密码文件复制到/etc/nginx/passwd

cp passwd /etc/nginx/passwd
设置密码文件权限为644

chmod 644 /etc/nginx/passwd
验证密码文件是否成功复制

ls -la /etc/nginx/passwd

7、创建完整的Nginx HTTPS配置文件

vi /etc/nginx/nginx.conf

TypeScript 复制代码
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
 
include /usr/share/nginx/modules/*.conf;
 
events {
    worker_connections 1024;
}
 
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
    access_log  /var/log/nginx/access.log  main;
 
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
 
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
 
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
 
    server {
        listen       80;
        server_name  _;
        root         /usr/share/nginx/html;
 
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
 
        location / {
        }
 
        error_page 404 /404.html;
            location = /40x.html {
        }
 
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
 
    # HTTPS server configuration
    server {
        listen 443 ssl http2;
        server_name www.haqimi.com www.manbo.com;
        root /usr/share/nginx/html;
 
        # SSL certificate configuration
        ssl_certificate /etc/nginx/ssl/lyh.crt;
        ssl_certificate_key /etc/nginx/ssl/lyh.key;
 
        # SSL protocol and cipher configuration
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 10m;
 
        # HTTP Basic Authentication
        auth_basic "input your passwd";
        auth_basic_user_file /etc/nginx/passwd;
 
        location / {
            index index.html index.htm;
        }
    }
 
    # HTTP to HTTPS redirect
    server {
        listen 80;
        server_name www.haqimi.com www.manbo.com;
        return 301 https://$host$request_uri;
    }
}

8、创建SSL证书目录,复制证书和密钥到SSL目录

mkdir -p /etc/nginx/ssl

cp lyh.crt /etc/nginx/ssl/

cp lyh.key /etc/nginx/ssl/

9、重启Nginx服务以应用新配置、检查Nginx服务状态、测试Nginx配置文件语法是否正确

bash 复制代码
systemctl restart nginx
systemctl status nginx
nginx -t

10、开放http80的端口和https443的端口

root@localhost \~# firewall-cmd --add-port=80/tcp --permanent

root@localhost \~# firewall-cmd --add-port=443/tcp --permanent

root@localhost \~# firewall-cmd --reload

11、添加域名解析记录到/etc/hosts,并用curl -I http://www.haqimi.com测试

12、浏览器验证

相关推荐
SelectDB6 小时前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode2 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
ping某3 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智5 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_5 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化