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 服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在 redhat 中,这个目录默认在/var/www/html。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的

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

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

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

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

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

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

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

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

    2024年02月06日
    浏览(53)
  • 在 【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日
    浏览(52)
  • 基于c++的简易web服务器搭建(初尝socket编程)

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

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

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

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

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

    2024年02月06日
    浏览(40)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包