Linux——Web服务器网址建立(http和https的分离)

一.Web服务器的简介

Web网络服务也叫WWW(World Wide Web 全球信息广播)万维网服务,一般是指能够让用户通过浏览器访问到互联网中文档等资源的服务

Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的 Web 服务器会通过 HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求的内容传送给用户。

二.nginx的简介

Nginx是一款轻量级HTTP服务器,也是一款邮箱代理服务器,同时具备反向代理、通用TCP/UDP代理的功能。
Nginx可以运行在x86、ARM等多种平台上,同时支持Linux、Windows等主流的操作系统

2.1nginx的下载

复制代码
[root@di ~]# yum  install nginx -y

2.2nginx的开启

复制代码
[root@di ~]# systemctl start  nginx 

三.搭建网站

3.1要求

3.2 新建网页目录并建立网页

复制代码
[root@zhangjiajie ~]# mkdir  -p  /www/fire
[root@zhangjiajie ~]# mkdir  -p  /www/ftp
[root@zhangjiajie ~]# echo  "ftp  ftp"  >  /www/ftp/index.htm1
[root@zhangjiajie ~]# echo  "fire  fire"  >  /www/fire/index.htm1

3.3建立本地hosts域名映射

复制代码
[root@zhangjiajie ~]# vim  /etc/hosts

3.4创建fire网站(http://www.openlab.com/fire)

复制代码
[root@zhangjiajie ~]# vim /etc/nginx/nginx.conf

注:只改server下面的东西

1.server_name

含义:定义这个网站的域名。

作用 :当用户通过 www.openlab.com 访问服务器时,Nginx 会匹配到这个 server 块,用下面的规则处理请求。

2.location 定义一个路径匹配规则 ,只对 URL 中 /fire 开头的请求生效

3.alias

核心作用路径别名映射,把请求的 URL 路径映射到服务器本地的文件路径。

规则 : 当用户访问 www.openlab.com/fire/xxx 时,Nginx 会去服务器的 /www/fire/xxx 目录下找文件。

注意alias 后面的路径末尾必须带 / ,否则会出问题。 比如你写 alias /www/fire;,请求 /fire/index.html 会变成 /www/fireindex.html,直接 404。

4.index

含义:定义默认首页文件。

  • 作用:当用户只访问目录(比如 www.openlab.com/fire/,没写具体文件名),Nginx 会按顺序查找文件:
    1. 先找 /www/fire/index.html
    2. 找不到的话,再找 /www/fire/index.htm 找到哪个就返回哪个给浏览器

3.5创建ftp网站(https://www.openlab.com/ftp)

制作私钥:

复制代码
[root@zhangjiajie ~]# openssl  genrsa  -aes128  2048  >  /etc/nginx/ftp.key
Generating RSA private key, 2048 bit long modulus (2 primes)
.....................................................+++++
..................................+++++
e is 65537 (0x010001)
Enter pass phrase:           #输入私钥密码123456
Verifying - Enter pass phrase:      #再次输入私钥密码123456

制作证书:

复制代码
[root@zhangjiajie ~]# openssl  req  -utf8  -new -key  /etc/nginx/ftp.key  -x509  -days  365  -out  /etc/nginx/ftp.crt
Enter pass phrase for /etc/nginx/ftp.key:      #输入私钥密码
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) [AU]:86        #国家代码
State or Province Name (full name) [Some-State]:shanxi       #省份 
Locality Name (eg, city) []:xian                        #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:oupeng    #公司
Organizational Unit Name (eg, section) []:node     #部门
Common Name (e.g. server FQDN or YOUR name) []:1314520.com    #主机名
Email Address []:5201314.com         #邮箱

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令

复制代码
[root@zhangjiajie ~]# cd /etc/nginx/
[root@zhangjiajie nginx]# cp ftp.key  ftp.key.org
[root@zhangjiajie nginx]# openssl  rsa  -in  ftp.key.org  -out  ftp.key
Enter pass phrase for ftp.key.org:              #输入私钥密码
writing RSA key

编辑配置文件(给第一个server的下面再加一个server,内容如下)

1. listen 443 ssl http2;

  • 443 :HTTPS 协议的默认端口,浏览器访问 https:// 网站时默认走这个端口。
  • ssl :告诉 Nginx,这个端口启用 SSL/TLS 加密(也就是 HTTPS),不再是明文传输的 HTTP。
  • http2:启用 HTTP/2 协议,比 HTTP/1.1 更快,支持多路复用、头部压缩等优化,加载网页速度更快。

2. server_name www.openlab.com;

和上一段 HTTP 配置的作用一样: 当用户通过 https://www.openlab.com 访问时,Nginx 会匹配到这个 server 块,用下面的规则处理请求。

3. location /ftp { ... }

匹配所有以 /ftp 开头的 URL,比如 https://www.openlab.com/ftphttps://www.openlab.com/ftp/index.html

alias /www/ftp/;:把 /ftp 路径映射到服务器本地的 /www/ftp/ 目录。

index index.html index.htm;:没指定文件名时,按顺序返回 index.htmlindex.htm 作为默认首页

server_name www.openlab.com;和上一段 HTTP 配置的作用一样: 当用户通过 https://www.openlab.com 访问时,Nginx 会匹配到这个 server 块,用下面的规则处理请求。

4. ssl_certificate "/etc/nginx/ftp.crt";

这是你的 SSL 公钥证书文件.crt/.pem 格式),由 CA 机构签发(或自签发)。

浏览器会用这个证书验证网站身份,确认连接的是你配置的服务器,防止中间人攻击。

路径是 /etc/nginx/ftp.crt,需要提前把证书文件放到这个位置。

5. ssl_certificate_key "/etc/nginx/ftp.key";

这是你的 SSL 私钥文件.key 格式),和上面的公钥证书是一对。

服务器用私钥来解密客户端的加密请求,只有你自己持有,绝对不能泄露。

路径是 /etc/nginx/ftp.key,权限建议设置为 600,防止其他用户读取。

重启服务

复制代码
[root@server ~]# systemctl  restart  nginx

检验

复制代码
# 输入www.openlab.com/file
# 输入https://www.openlab.com/ftp,点击高级->接受风险并继续

注:如果网站不能访问,可能是本地域名映射的问题,解决办法如下:

1.找寻文件位置

"C:\Windows\System32\drivers\etc\hosts"

2.如若保存不了,解决方法如下

修改一下就保存好了

相关推荐
.小小陈.2 小时前
Linux 多线程进阶:线程互斥、同步、线程池、死锁与线程安全、读写锁、自旋锁
linux·开发语言·c++
Hello_wshuo2 小时前
v3s镜像从零开始构建
linux·嵌入式
Felven3 小时前
国产ZYNQ multiboot功能介绍与实现
linux·fpga开发·multiboot·国产zynq
脆皮炸鸡7553 小时前
进程通信----命名管道
linux·经验分享·笔记·算法·学习方法
Mapleay3 小时前
FE-BE 动态路机制之 DPCM 与 DAPM 协作
linux
wzl202612133 小时前
基于企销宝定时群发接口的私域自动化触达系统设计与实现
运维·自动化
闲适达人3 小时前
nginx传递url的获取方案
java·服务器·前端
IT大白鼠3 小时前
Linux故障分析与排查:系统日志、启动故障与文件系统修复
linux·运维·服务器
老詹图解IT3 小时前
统信 UOS 登录界面转圈闪退/卡登录等常见原因及处理
linux·服务器·网络