Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

这篇具有很好参考价值的文章主要介绍了Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

     

        现在我们想架设一个 互联网网站的话,我们就得想法认证自己是官方的,得产生一个证书

        这个证书呢,我们使用的是 X.509  格式的证书 

                              该证书 包含三个文件 :  key , csr , crt 。  

        先介绍下 : 

PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的网络环境

PKI 主要包括四个部分:X.509 格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA 操作协议;CA管理协议;CA政策制定

X.509通用的证书格式包含三个文件:key,csr,crt。

===>>>

key是私钥文件

csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名

crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息

使用 Apache + mod_ssl 组件的加密认证网站  : 

   

      概念 :   

            因为 Apache ( httpd )  是没有任何安全性的限制的 ,所以需要安装一个 mod_ssl 组件。

            mod_ssl 组件 :    是 Apache 的一个模块,以 openssl ( 就相当于 ssh) 的工具箱为基础 

                                         专门为 Apache 提供密码保护的一种组件模块儿~~!!

预备工作  : 

   安装  Apache ( httpd ) 

   ===>>>     

[root@server ~]# dnf install httpd -y 

   安装 mod_ssl 组件  : 

    ===>>>                 

[root@server ~]# dnf install mod_ssl -y 

     配置文件  : 

 主配置文件 :  /etc/httpd/conf.d/ssl.conf

 证书文件目录 : /etc/pki/tls/certs/xxxx.crt  (  以  .crt 结尾的都是 证书文件 )

 私钥文件  :   /etc/pki/tls/private/xxxx.key   ( 以  .key   )

       

      进入主配置文件看看  : 

[root@server ~]# vim /etc/httpd/conf.d/ssl.conf

     ===>>>

5  Listen 443 https     #   监听端口号 ( 443 ) 

18 SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog   # 存储证书的密码信息 

23 SSLSessionCache      shmcb:/run/httpd/sslcache(512000)    #  ssl 的缓存 及 存储位置 

24 SSLSessionCacheTimeout  300    #  缓存的超时时长  

40 <VirtualHost _default_:443>    #  重要**    定义虚拟主机的信息,配置  

48 ErrorLog logs/ssl_error_log    #   错误日志     

49 TransferLog logs/ssl_access_log    #  传输日志 
 
50 LogLevel warn             #  日志等级  

54 SSLEngine on              #  SSL 引擎是否开启  ( on 开启 )

66 SSLHonorCipherOrder on      # 协商算法 ( 是否开启 ) 

85 SSLCertificateFile /etc/pki/tls/certs/localhost.crt   #  证书存储路径 ( 建议主机名 来表示,你主机名是啥,localhost 就是啥 ) 

93 SSLCertificateKeyFile /etc/pki/tls/private/localhost.key   # 私钥文件路径 

202 </VirtualHost>  #  虚拟主机结束定义 

                        *    第一列数字为 行号 

                        *    从 第 40 行 开始 到 202 行 结束 都是 虚拟主机 的相关配置

 

      切换到 证书文件目录 看看 : 

[root@server ~]# cd /etc/pki/tls/certs
[root@server certs]# ls 
ca-bundle.crt  ca-bundle.trust.crt

     就可以看到 以  .crt   结尾的文件 (  即是 数字证书 )

 实验  : 

       *   搭建 HTTP + SSL  的加密认证Web 服务器 

     

       *    准备工作  ( 就和 预备工作 一样 )

           #    关闭 Selinux  及 防火墙  

[root@server ~]# setenforce 0 
[root@server ~]# systemctl stop firewalld 

           #    安装  : 

[root@server ~]# dnf install httpd -y 

[root@server ~]# dnf install mod_ssl -y 

          #    新建网页存储目录, 并使用 xftp 上传网页文件  

[root@server ~]# mkdir -p  /www/andy 

                XFTP 上传文件 

                ===>>>                 Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

 

       

         *   在  /etc /pki /tls /private   目录下生成私钥文件        

             #  私钥文件必须建立在指定目录下  ( 前面介绍 主文件配置里 就有 )

                 ===>>>               

[root@server ~]# cd /etc/pki/tls/private/

                 就在这个目录下建立 私钥文件  

            #  还得介绍一个新命令  >>>>>   openssl  

            #   建立私钥文件过程  

                ===>>>> 

[root@server private]# openssl genrsa -aes128 2048 > andy.key # 建一个私钥文件,名为 andy.key
Enter PEM pass phrase:                   # 键入了 123456  ( 是不显示的,意思是对私钥还要再加密一下 )
Verifying - Enter PEM pass phrase:       # 再次输入密码
[root@server private]# ls                # 显示下有没有文件,显示出了 
andy.key

           我们就是通过 opensll 命令 ( 是一个加密组件的命令 ) , genrsa 是建立私钥文件的,

           -aes128  2048 ( 设置 密钥位数  )   

           >  andy.key  把信息写到 andy.key 文件中 ( andy.key 就是 私钥文件名称 )

       

        *   在   /etc/pki//tls/certs 目录下 新建证书 

            实操 : 

[root@server ~]# cd /etc/pki/tls/certs  # 在该目录下 新建证书 

[root@server certs]# openssl req -utf8 -new -key /etc/pki/tls/private/andy.key -x509 -days 365 -out andy.crt
Enter pass phrase for /etc/pki/tls/private/andy.key:     #  输入私钥加密密码 ( 前面的 123456)
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]:xi'an
Organization Name (eg, company) [Default Company Ltd]:openlab
Organizational Unit Name (eg, section) []:RHCE
Common Name (eg, your name or your server's hostname) []:localhost
Email Address []:andy@qq.com

  ===>>> 

      我们要建立自己的证书 ( 在上示目录下 是已经有两个 证书文件的 ) 我们要建立自己的证书

          而且自己建立的证书 还要 匹配前面的私钥 ~!!

     #   还是使用的 openssl 命令, req 是专门用来建立 证书的, 证书的字符编码 : utf8  

          -new  表示 新建, -key  代表加密, 紧接着的路径 是 证书的私钥路径 ,

          -x509 是证书的制作协议,  -days  是 证书的有效期 365 天, 

          - out  代表把证书 输到 什么地方去 ( 可以是相对路径我们用的就是相对路径,也可以绝对

          路径) 

          当这一串命令执行完成后, 会让你输入 私钥的密码 ( 就是 你当时设置的密码 - 123456 )

           

          执行完成后 就到了输入证书的相关信息 : 

          第一行 : 国家名称 ( 是以 编码输入的,我们国家是 86 ) 

          第二行 : 省名称  

          第三行 : 城市名称 

          第四行 : 公司名称  

          第五行 : 公司部门 

          第六行 : 当前主机名 (你有主机名就写主机名,没有主机名那就写通用主机名 - localhost )

          第七行  :邮箱地址 

          我们浏览下 看下目录里面 有没有 我们刚才建的 证书文件  

          ===>>> 

         Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

          我们大致浏览下 andy.crt 文件的内容 

          ===>>> 

          Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

         

        文章来源地址https://www.toymoban.com/news/detail-471439.html

      *   主配置文件的编辑,输入新的配置信息 

          打开主配置文件

          ===>>>

[root@server certs]# vim /etc/httpd/conf.d/ssl.conf

          进入配置文件,调至最后,添加内容 : 

          ​​​​​​​Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操) 

          我们直接就在 主配置文件,定位最后一行,添加上示标记内容。 

          对上式添加内容做以说明 

          ===>>>  


204 <VirtualHost 192.168.153.130:443>        # 访问的IP地址 及 端口号
205         SSLEngine on                     # 开启 ssl 引擎 
206         SSLCertificateFile /etc/pki/tls/certs/andy.crt       #  证书路径 
207         SSLCertificateKeyFile  /etc/pki/tls/private/andy.key    # 私钥路径
208         ServerName      192.168.153.130    # 主机名 
209         DocumentRoot    /www/andy          # 网页启动目录 
210 </VirtualHost>
211 
212 <Directory /www/andy>                # 网站目录的权限    
213         AllowOverride   none
214         Require all granted
215 </Directory>

       上示内容,添加完成后,重启 Apache ( 重启 Httpd )

        ===>>> 

[root@server ~]# systemctl restart httpd

  Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)    

   重启之后,会让你输入 私钥加密密码( 之前设置的私钥加密密码 ) 

  Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

   输入完 密钥之后即可  验证 

    验证实验  : 

     在网站上验证 : 

     Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

       点击 高级 (  在 地址栏输入  https://  IP 地址 ) 

       Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

        即 验证成功 ~!!!!

  

        

到了这里,关于Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux下的web服务器搭建

    Web服务器:专门处理HTTP请求的服务器,常被称为Web服务器。 有时间好好研究这个。 另外可以参照  mac/linux安装php那篇一起看看 零、         常用的Web服务器有Apache和Nginx 。Apache server(httpd)是非常流行的web服务器长期稳居第一。Apache httpd又可以简称为httpd或者Apache,是Intern

    2024年02月04日
    浏览(53)
  • 基于OpenSSL和nginx搭建本地https服务器(详细实操版)

    (꒪ꇴ꒪ ),Hello我是 祐言QAQ 我的博客主页:C/C++语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍 快上🚘,一起学习,让我们成为一个强大的攻城狮! 送给自己和读者的一句鸡汤🤔: 集中起来的意志可以击穿顽石! 作者水平很有限,如果发现错误,请在评论区指

    2024年02月20日
    浏览(44)
  • Linux centos搭建web服务器

    在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。 Apache2 是一种流行的

    2023年04月19日
    浏览(60)
  • Linux下的WEB服务器的搭建实战

    每次搭建一个服务器之前,比如MySQL、DNS、WEB等首先要挂载磁盘目录文件 挂载就是当要使用某个设备时(例如光盘或软盘),必须先将它们对应放到 Linux 系统中的某个目录上。其中对应的目录就叫作挂载点。只有经过操作之后,用户或程序才能访问到这些设备。这个操作过程

    2024年02月03日
    浏览(105)
  • Linux—Web服务器(静态、动态网站的搭建)

    1.1www所用的协议 HTTP超文本传输协议,是互联网上最广泛的一种网络协议,所有的www文件都必须遵守这个标准 它是建立在TCP上一种的无状态连接,整个基本的工作流程是客户端发送一个HTTP请求,说明客户端想要访问的资源和请求的动作,服务端收到请求之后,服务端开始处理

    2024年02月06日
    浏览(55)
  • 在 【Linux Centos】下搭建 【Nginx Web】 服务器

    系统:Linux Centos 7.9 gcc 、c++、pcre、zlib、openssl等 添加内容

    2024年01月16日
    浏览(55)
  • Linux -- Web服务器 快速搭建静态网站,替换默认网页目录

    先简单写个 页面          我们给网页写了一行内容 作为 静态网页的内容 ( 当然了,写的相当简单,您先理解着看)         可以看到的是,我们将内容 定向到了一个文件里,         这个文件的路径 (  /var/www/html  )熟悉不熟悉???         ===            

    2023年04月19日
    浏览(59)
  • 基于c++的简易web服务器搭建(初尝socket编程)

    用 Socket 编程实现一个 Web 服务器(端口号 8080) 实验要求: 该 Web 服务器在一台主机上运行,支持多台主机同时访问 有服务控制界面,开启和关闭按钮 能够指定主页(index.html) 测试方法: 在同组其他主机上,打开浏览器,输入 http://主机 IP 地址:8080,浏览器上显示主页

    2023年04月08日
    浏览(44)
  • 基于Linux的服务器搭建

    Linux操作系统搭建服务器,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它在服务器方面保持着强劲的发展势头,在目前,由

    2024年02月04日
    浏览(55)
  • 无需租云服务器,Linux本地搭建web服务,并内网穿透发布公网访问

    转载自cpolar文章:Linux CentOS本地搭建Web站点,并实现公网访问 在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有

    2024年02月06日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包