linux中级wed服务器(https搭建加密服务器)

一。非对称加密算法:

公钥:公共密钥,开放

私钥:私有密钥,保密

1.发送方用自己的公钥加密,接受方用发送方的私钥解密:不可行

2.发送方用接受方的公钥加密,接受方用自己的私钥解密:私密性

3.发送方用自己的私钥加密,接受方用发送方的公钥解密:身份验证,不可抵赖

4.发送方用接受方的私钥加密,接受方用自己的公钥解密:不可行

二。nginx的模块准备

1.nginx -V:查看是否由以下模块,否则需要下载,mod_ssl:yum install mod_ssl

2.配置文件:

证书文件:/...../xxx.crt(证书存放的是公钥)

私钥文件:/...../xxx.key(存放私钥)

实验一:搭建nginx+ss的加密认证wed服务器

1.setenforce 0(关闭SElinux)

2.systemctl stop firewalld(防火墙)

3.systemctl disable firewalld

4.yum install nginx mod_ssl -y

5.systemctl start nginx

6.systemctl enable nginx(开机启动)

7.mkdir -p /www/new_file(创建网站文件夹)

8.openssl genrsa -aes128 2048 > /etc/nginx/zy.key (在etc/nginx目录下制作证书所用的私钥文件zy.key,再输入密码123456)

9.openssl req -utf8 -new -key ++/etc/nginx/zy.key++ -x509 -days 365 -out /etc/nginx/zy.crt(制作证书)

需要输入:++国家代码,省份,城市,公司,部门,主机名,管理员邮箱++

注释:通过openssl制作一个证书,设置字符集,制作公钥对应的私钥,用-x509来制作,有效期限为365天,证书输出的内容以zy.crt进行保存

  1. cp zy.key zy.key.ory(备份私钥源文件,防止破坏原来的私钥)

11.openssl rsa -in zy.key.ory -out zy.key(在加载SSL支持的nginx并使用上述私钥时,除去必要的口令)

12.vim /etc/nginx/nginx.conf(进行配置文件:端口号,ip,网址文件,证书地址,私钥地址)

注释:++在80端口下设置return,则无论是输入http还是https协议,都会最终跳转到https的端口下进行加密打开++

13.systemctl restart nginx(重启服务)

14测试:https://192.168.1.150

对于https:端口,ip地址,要打开的网址,证书,密钥

对于http:端口,ip地址,return

实验二:组建多个子目录网站www.newfiles.com该网站有2个子目录www.newfiles.com/file和www.newfiles.com/ftp:要求

file数据使用http读取

ftp数据使用https读取

1.setenforce 0(关闭SElinux)

2.systemctl stop firewalld(防火墙)

3.systemctl disable firewalld

4.yum install nginx mod_ssl -y(下载模块)

5.systemctl start nginx

6.systemctl enable nginx(开机启动)

7.mkdir -p /www/file mkdir -p /www/ftp

8.echo "file" > /www/file/index.html(file文件内写入内容)

9.echo "ftp" > /www/ftp/index.html(ftp文件内写入内容)

制作http访问过程

1.vim /etc/hosts(添加ip,进行域名映射)

2.C:\Windows\System32\drivers\etc(修改window内的内容)

3.vim /etc/nginx/nginx.con(编辑主配置文件)

注释:设置域名为www.newfiles.com,alias绝对路径网站根目录,index默认首页文件(当访问网址时候,且为file文件时候,指定指定目录,并打开此目录的内容)

4.systemctl restart nginx(重启nginx)

5.curl www.newfiles.com/file(进行测试)

制作https访问过程:

1.openssl genrsa -aes128 2048 > /etc/nginx/ftp.key(制作私钥文件)

2.openssl req -utf8 -new -key /etc/nginx/ftp.key -x509 -day 365 -out /etc/nginx/ftp.crt(制作证书)

3.cp ftp.key ftp.key.org(进行私钥的拷贝)

4.openssl rsa -in ftp.key.org -out ftp.key(去除必要口令)

5.vim /etc/nginx/nginx.conf(进行编辑著配置文件)

6.systemctl restart nginx(重启nginx)

7.进行测试:

输入:www.newfiles.com/file

输入:https://www.newfiles.com/ftp

相关推荐
Suckerbin5 分钟前
Open SSH服务配置
linux·运维·ssh
雨会停rain5 分钟前
centos部署rabbitmq
linux·centos·rabbitmq
桃酥4038 分钟前
day05|计算机网络重难点之 HTTPS和HTTP的区别、HTTPS的工作原理(HTTPS建立连接的过程)、TCP和UDP的区别
计算机网络·http·https·udp·tcp
低配加班人33 分钟前
【Jetson AGX Orin(Arm Linux)安装pyqt5及Format_BGR888报错】
linux·arm开发·qt
葱白有滋味1 小时前
浏览器无法访问非80端口网页
运维·服务器·网络
极客代码1 小时前
Linux标准I/O库汇总整理
linux·c语言·开发语言·文件·文件操作
烧烤大团子2 小时前
记录cuda12.4 ubuntu20.04安装DGL
linux·经验分享
AI新视界2 小时前
『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC
linux·ubuntu·vnc·vncviewer·vncserver
Coder_Guan2 小时前
通过ssh端口反向通道建立并实现linux系统的xrdp以及web访问
linux·运维·ssh·gnome·xrdp
FlowingRiver2 小时前
linux服务器,磁盘满了导致服务崩溃
linux·磁盘满