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

相关推荐
云边的快乐猫14 分钟前
navicat远程连接虚拟机centos系统的mysql
linux·mysql·centos·虚拟机·navicat
望获linux14 分钟前
在 ARM 平台上如何实现Linux系统的1秒启动
linux·服务器·开发语言·数据库·操作系统·嵌入式操作系统·arm平台
先天打工圣体的男人24 分钟前
Linux中安装InfluxDB
linux·运维·服务器
陌小呆^O^1 小时前
CmakeList.txt之Linux-pthread
linux·运维·服务器
山川生色2 小时前
本机上装好的ubuntu 全部的开发软件 如何备份以后移到另一台电脑上 还不会出现引导错误?
运维·服务器·postgresql
დ旧言~2 小时前
实战项目 Boost 搜索引擎
服务器·c语言·前端·网络·汇编·c++
Sagice2 小时前
CVE-2019-13272(Linux本地内核提权)
linux·运维·服务器·网络·安全
Kendra9192 小时前
RHCE SELINUX安全管理
linux
白书宇3 小时前
19.QT程序简单的运行脚本
linux·arm开发·嵌入式硬件·物联网·arm
LKID体3 小时前
【python图解】数据结构之字典和集合
java·服务器·前端