如何基于nginx搭建https网站

embedded/2024/9/23 4:08:48/
webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

华子目录

  • 使用nginx的http_ssl模块建立加密传输的网站
    • 查看
    • 配置文件
    • ssl配置文件的主要参数
    • 实验:搭建nginx+ssl加密认证的web服务器

nginxhttp_ssl_1">使用nginx的http_ssl模块建立加密传输的网站

查看

[root@server ~]# nginx -V
#查看是否有--with-http_ssl_module模块,如果没有则需要安装mod_ssl

配置文件

  • 证书文件/...../xxx.crt
  • 私钥文件/..../xxx.key

ssl配置文件的主要参数

[root@server ~]# vim /etc/nginx/nginx.conf   #主配置文件https段,默认为注释,可以取消注释
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2;   #监听443端口
#        listen       [::]:443 ssl http2;
#        server_name  _;               #域名
#        root         /usr/share/nginx/html;   #默认网页目录
#
#        ssl_certificate "/etc/pki/nginx/server.crt";    #证书文件路径
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";    #私钥文件路径
#
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers PROFILE=SYSTEM;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        error_page 404 /404.html;
#            location = /40x.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
#    }

nginxsslweb_44">实验:搭建nginx+ssl加密认证的web服务器

  • 准备工作
[root@server ~]# setenforce 0[root@server ~]# systemctl stop firewalld[root@server ~]# systemctl disable firewalld[root@server ~]# yum install nginx mod_ssl -y[root@server ~]# systemctl start nginx[root@server ~]# systemctl enable nginx
  • 创建网页目录
[root@server ~]# mkdir -p /www/sxhkt#使用mobaxterm上传网页数据到/www/sxhkt
  • 制作证书
#在/etc/nginx目录下制作证书所用的私钥文件sxhkt.key
[root@server ~]# openssl genrsa -aes128 2048 > /etc/nginx/sxhkt.key
Enter PEM pass phrase:                        #输入加密私钥的密码12345
Verifying - Enter PEM pass phrase:            #再输一遍#制作证书 (证书需要用CA的私钥进行加密,所以在制作证书之前先制作私钥,证书中含有网站的公钥)
[root@server ~]# openssl req -utf8 -new -key  /etc/nginx/sxhkt.key  -x509  -days  365  -out  /etc/nginx/sxhkt.crt
Enter pass phrase for /etc/nginx/sxhkt.key:       #输入加密私钥的密码12345
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:86     #国家代码
State or Province Name (full name) []:shanxi   #省份
Locality Name (eg, city) [Default City]:xian    #城市
Organization Name (eg, company) [Default Company Ltd]:openlab  #公司
Organizational Unit Name (eg, section) []:rhce    #部门
Common Name (eg, your name or your server's hostname) []:server   #主机名
Email Address []:and@qq.com   #邮箱#在加载ssl支持的nginx并使用上述私钥时必须去除设置的私钥密码12345
[root@server ~]# cd /etc/nginx
[root@server nginx]# cp sxhkt.key sxhkt.key.org
[root@server nginx]# openssl rsa -in sxhkt.key.org -out sxhkt.key
Enter pass phrase for sxhkt.key.org:         #输入加密私钥的密码12345
writing RSA key
  • 修改配置文件
[root@server ~]# vim /etc/nginx/nginx.confserver {listen       80;listen       [::]:80;server_name  192.168.80.129;return  301  https://192.168.80.129;   #输入http跳转到https# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}# Settings for a TLS enabled server.server {listen       443 ssl http2;listen       [::]:443 ssl http2;server_name  192.168.80.129;root         /www/sxhkt;ssl_certificate "/etc/nginx/sxhkt.crt";ssl_certificate_key "/etc/nginx/sxhkt.key";# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
  • 重启服务,测试
[root@server ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@server ~]# systemctl restart nginx#在Windows端浏览器上输入https://192.168.80.129

https://img-blog.csdnimg.cn/direct/c9fb6ea8f19b4bbca98de4f157c9325e.png" alt="在这里插入图片描述" />


http://www.ppmy.cn/embedded/29811.html

相关文章

Django框架之视图层

一、三板斧的原理介绍 1、HttpResponse 在Django中,HttpResponse是一个类,用于构建HTTP响应并返回给客户端。当视图函数处理完请求后,需要返回一个响应时,就会使用HttpResponse对象。 (1)创建HttpRespon…

国产服务器操作系统部署NTP服务 _ 统信UOS _ 麒麟 _ 中科方德

原文链接:国产服务器操作系统部署NTP服务 | 统信UOS | 麒麟 | 中科方德 Hello,大家好啊!在保持服务器时间的精确同步方面,时间同步服务器(NTP服务器)扮演着至关重要的角色,它能确保系统操作的时…

万界星空科技商业开源MES+项目合作+商业开源低代码平台

今天我想和大家分享的是一套商业开源的 MES制造执行管理系统带源码。对于制造业而言,MES 是一个至关重要的系统,它可以帮助企业提高生产效率、优化资源利用、提高产品质量,从而增强市场竞争力。 什么是 MES? MES 是指通过计算机技…

使用 Docker 在 PyTorch 环境中训练模型

文章目录 准备工作构建 Docker 镜像运行 Docker 容器总结 在机器学习和深度学习任务中,使用 Docker 可以方便地构建和管理环境,特别是在涉及到复杂的依赖关系和 GPU 加速的情况下。本文将介绍如何使用 Docker 构建一个 PyTorch 环境,并在其中…

结构方程模型【SEM】:非线性、非正态、交互作用及分类变量分析

张老师(研究员),长期从事R语言结构方程模型、群落生态学、保护生物学、景观生态学和生态模型方面的研究和教学工作,已发表了多篇论文,拥有丰富的科研及实践经验。 利用结构方程模型建模往往遇到很多‘特殊’情况&…

2-手工sql注入(进阶篇) sqlilabs靶场1-4题

1. 阅读,学习本章前,可以先去看看基础篇:1-手工sql注入(基础篇)-CSDN博客 2. 本章通过对sqlilabs靶场的实战,关于sqlilabs靶场的搭建:Linux搭建靶场-CSDN博客 3. 本章会使用到sqlmap,关于sqlmap的命令&…

软件标准建设体系规范过程性文档(软件开发,管理,安全,运维等各阶段全文档)

软件标准建设体系规范是确保软件开发过程标准化、高质量和可维护性的关键。它通常包括一系列文档、规范、流程和最佳实践,以确保软件项目的成功实施和交付。以下是一个软件标准建设体系规范的基本框架: 软件全套资料获取方式1:进主页。 获取…

C++之const用法小结

在C中,const关键字具有多种用法,主要用于声明常量,确保某些变量的值在程序运行期间不会被修改。以下是const在C中的一些常见用法: 1.声明常量: 使用const声明的变量是常量,其值在初始化后不能再被修改。 …