精华内容
下载资源
问答
  • Apache的启动与停止 1图形界面方式 在图形用户界面中执行系统管理服务弹出服务配置窗口选中httpd复选框然后通过该窗口上的开始停止和重启来操作Apache服务器 Apache的启动与停止 2命令行方式 1启动Apache服务器 ...
  • 四川大学计算机网络实验报告——web服务器配置
  • WEB服务器配置

    千次阅读 2010-06-08 09:12:00
    而一个高效率的WEB服务器则是对一个网站的强有力的支持!下面,我将根据自己的学习和实际操作经验来和大家讨论一下WEB服务器的架设,不妥之处,敬请指正!(本文所讲的内容,也适用于单机!想用自己的机器作WEB...

     

    07-06-22 09:19  发表于:《CCIE建策科技-CISCO思科培训》 分类:未分类

    随着互联网普及程度的日益提高,越来越多的实体和个人投入到了网络的怀抱。而拥有自己的网站,也成为越来越多的人的目标。而一个高效率的WEB服务器则是对一个网站的强有力的支持!下面,我将根据自己的学习和实际操作经验来和大家讨论一下WEB服务器的架设,不妥之处,敬请指正!(本文所讲的内容,也适用于单机!想用自己的机器作WEB服务器的朋友也可以参考)本文所有环境是基于Windows2000系统,其他环境下的服务器配置可以参考本文的部分内容!

      本文所讲的WEB服务器,是以Windows2000作为操作系统(Windows2000最好不要安装IIS5.0),以Apache(阿帕奇)作服务器软件,在此基础上配置PHP,Mysql和Perl。从而构成一个界面友好,稳定性和抗负荷性良好,功能十分强大的WEB服务器系统。但是对于高负荷的大型网站来说,本文所讨论的服务器配置还显得比较“单薄”。

      现在,我们开始讨论服务器的配置过程:

    (一)安装配置Apache1.3.17

      Apache是全世界范围内使用范围最广的WEB服务软件,超过50%的网站都在使用Apache,它以高效、稳定、安全、免费(最重要的一点)而成为了最受欢迎的服务器软件!目前的最新版本为1.3.17,大家可以访问http://www.apache.org下载。请下载for win32的无原码版本(Apache_1.3.17-win32-no_src.msi).最新版的Apache for win32开始使用MSI的形式发布。从而使windows环境下安装Apache变得非常简单。下面就说说它的具体安装过程:

    1、双击Apache的安装文件,和普通windows程序安装一样,一路点“Next”就可以。

    2、安装程序要求你输入你的Network Domain(网络域名:形如xxx.com);Server Domain(服务器域名:形如www.xxx.com)和网站管理员的e-mail。有的话就按实填写,个人用户若没有的话可以按格式随便填一下。

    3、到了选择安装路径,本人强烈建议你将安装路径改为“C:/”,因为这样可以省去好多的配置麻烦。

    4、一路“Next”直至“Finish”。安装就结束了。
    这时,你的Apache已经启动了,你可以在IE地址栏里输入:http://localhost/http://127.0.0.1看看。在“管理工具”的“服务”项中,也可以找到Apache服务的身影了,以后Apache就可以作为一项Windows2000服务,随着机器的启动而运行了!

      以上讲了Apache的安装,下面接着来讨论Apache的配置,使其工作的更好!

      Apache的核心配置文件是httpd.conf,存放路径为“Apache的安装路径/conf/”,在1.3.17版中,它的作用更加明显了。用记事本打开它,开始修改配置!限于篇幅,这里只讲一些重要的、必须的配置修改!(说明一点:“#”为Apache的注释符号)

    1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它。

    2、寻找到ServerAdmin。这里输入你的E-Mail地址。
    (以上两条在安装时应该已经配置好了,所以不必改动,这里介绍一下,主要是为了日后的修改)

    3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!A大写,两个l小写。下同。)接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。

    4、寻找到DocumentRoot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。此外注意,路径的分隔符在Apache Server里写成“/”(用惯了windows的朋友是不是觉得有些别扭呢?)。

    5、寻找到DirectoryIndex。这就是你站点第一个显示的主页,在index.html的后面加入index.htm index.php index.php3 index.cgi index.pl。注意,每种类型之间都要留一空格!这里添加好了,以后就不用再麻烦了。

    6、特别说明一点 就是port(端口号),如果没安装IIS的话,就保持80不要变,否则,就要改一下(因为IIS的WEB服务占据了80),可以改成81等等,或者干脆改IIS的默认端口号!随你高兴。但我个人认为,ASP没什么好的,某些方面根本比不过PHP。所以建议IIS就不要装了,更何况IIS的安全性本人实在是不敢恭维!!

      好了,Apache安装配置完成,至于怎么让它支持PHP,CGI,请看后面的专门介绍。接下来,我们来安装一下MySQL。

    二、安装MySQL3.2.32

      MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序Mysqld和很多不同的客户程序和库组成。

      SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许你存储记录文件和图像。
    MySQL的官方发音是“My Ess Que Ell”(不是 MY-SEQUEL )。

    在windows中安装MySQL是非常简单的,只需4步:

     1、见下载回来的压缩文件解压至任意目录中。
     2、点击解压目录中的setup安装。什么都不要改,一路“Next”至“Finish”(不推荐修改安装路径)。
     3、在“运行”中输入:“c:/mysql/bin/mysqld-nt -install,运行!
     4、在“管理工具”中的“服务”项里找到“Mysql”服务,启动它,然后Restart Your Computer!

      到此,Mysql数据库系统安装完成,下面我们开始安装配置PHP!
    三、安装配置PHP

      PHP是一种服务器端解释的脚本语言。如果你接触过ASP的话,那么您对于在HTML页面中嵌入代码应该是比较熟悉了。PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。这种模式使得我们可以用它来完成相当复杂的功能。

      PHP支持Internet开发的一些前沿技术。这些技术包括身份认证、XML、动态图象生成、WDDX、共享内存,以及动态PDF文档等等,(更重要的一点是:这些全部都是免费的)不一而足。如果您还不满意的话,PHP是很容易扩展的,所以只要您有编程能力,您尽可以自己大展身手一番.

    OK!介绍完了!下面开始我们的PHP旅程!

      1、关闭Apache服务
      2、将PHP的压缩文件解压至“c:/php”中(别改路径了!否则以后的配置....哼哼)。
      3、把 c:/PHP/php4ts.dll 拷到 c:/winnt/system32 下,覆盖任何原有文件。
      4、把 c:/php.ini-dist改名为php.ini,拷贝到c:/winnt下。
      5、下面介绍两种安装模式:Apache模块法和CGI法
        5.1、Apache模块法:在 httpd.conf 中加入如下几行:(随便什么地方都可以,但要单独成行)

    LoadModule php4_module c:/php/sapi/php4apache.dll
    AddType application/x-httpd-php .php php3

        5.2、CGI法:在 httpd.conf 中加入如下几行:

    ScriptAlias /php/ "C:/php/"
    Action application/x-httpd-php4 "/php/php.exe"
    AddType application/x-httpd-php4 .php

      笔者在这里强烈建议您选择Apache模块法,因为这样能使您获得更好的性能和安全性!!!CGI法只需要了解就可以了!

    6、重启Apache

      PHP也安装调试完毕!下面编写一段代码:

    〈html〉
    〈body〉
    〈?
    phpinfo();
    ?〉
    〈/body〉
    〈/html〉

      存为test.php,放到你的Apache默认文档中,在IE中输入http://127.0.0.1/test.php
    偷着乐去吧!!(可以看到php的运行模式为Apache)

      有的朋友会问:为何没有php.ini的修改介绍呀?这是因为:如果你按默认方式安装的PHP4的话,那么php.ini的设置已经完全没有问题了,而优化php.ini也不是几张纸能讲完的。所以,普通用户在这里就不需要修改php.ini了。

      紧接着,我们在下一章继续配置Apache,使其能够支持Perl编写的CGI程序!

    四、安装配置Perl

      Perl是目前最流行的几种web脚本编写语言之一,它的文本处理能力和安全性无人能及(PHP也只能望其项背),细心的朋友可能早就发现,PHP和Perl有很多相似的地方,那时因为PHP在产生的时候受到了Perl的很大影响,甚至PHP的雏形就是使用Perl编写的!现在,网上有很多关于Perl的讨论,说CGI太慢,Perl过时了等等,我个人认为,Perl没有过时,它一直在努力的发展!它仍然是世界上不可替代的web脚本编写语言!!

      好了,废话少说!下面,让我们一起来讨论Perl的安装配置。Come On!!

      1、双击Perl5.6的安装程序,(默认路径不要改)完成安装。
      2、寻找,往下面第9行有一句Options,把后面的参数全去掉,加一个All,(注意大小写)。再往下有一句AllowOverride,也把后面的None换成All。
      3、寻找到ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/"。删除前面的#,将""中的路径指向你存放CGI脚本的目录,也就是,这个目录中的CGI脚本可以被执行。
      4、寻找到。将""中的路径指向你存放CGI脚本的目录,要与上面的相同。更改下面的Options、Allow Override的参数为All(注意大小写)。
      5、寻找到AddHandler cgi-script .cgi。删除前面的#,在后面加上 .pl。变为AddHandler cgi-script .cgi .pl
      6、特别特别需要注意的是:你的perl脚本中的perl解释路径,应改为: #!c:/perl/bin/perl。否则的话会出现500错误!

      Perl的安装配置也介绍完了,至此,你就拥有了一个性能非常不错的WEB服务器!它支持PHP,CGI以及MySQL!已经完全能够满足一般中型站点的需要了!



    展开全文
  • Web服务器配置 摘 要 Internet Information Services (IIS)管理器6.0 和 Windows Server 2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。IIS 6.0同样增强了网络应用的...

    Web服务器配置

    摘 要

    Internet Information Services (IIS)管理器6.0 和 Windows Server 2003在网络应用服务器的管理、可用性、可靠性、安全性、性能与可扩展性方面提供了许多新的功能。IIS 6.0同样增强了网络应用的开发与国际性支持。IIS 6.0和 Windows Server 2003提供了最可靠的、高效的、连接的、完整的网络服务器解决方案。可靠性与可伸缩性 IIS 6.0提供了更智能的、更可靠的Web服务器环境,新的环境包括应用程序健康监测、应用程序自动地循环利用。其可靠的性能提高了网络服务的可用性并且节省了管理员用于重新启动网络服务所花费的时间,IIS 6.0将提供最佳的扩展性和强大的性能从而充分发挥每一台Web服务器的最大功效。

    **关键词:**IIS,Windows Server 2003,HTTP,FTP

    1 课题描述 1

    2 需求分析 2

    2.1 HTTP协议 2

    2.2 FTP协议 4

    3 概要设计 6

    4 详细设计 8

    4 详细设计 8

    4 FPT服务器的搭建 9

    5 结果分析 12

    6 总结 13

    1 课题描述

    本次课程设计是通过Internet Information Services (IIS)完成站点的创建,学会站点的规划与创建,能够自己创建个人网站。掌握Web站点的管理熟悉IIS服务器实现过程,学习认识关于http协议和ftp协议.http协议的实现和ftp协议的实现,包括http协议与ftp协议之间的相同点和不同点,和其他协议之间的依赖关系。Web服务器是网络系统平台的重要主件,它除了提供用于Web的硬件服务器外,还需要Web服务器的软件,目前用于建立Web服务器的软件主要有基于IIS等微软平台。

    2 需求分析

    了解WWW 服务的体系结构与工作原理; 掌握利用Microsoft 的IIS 实现WWW 服务的基本配置; 掌握WEB 站点的管理。

    2.1 HTTP协议

    2.1.1 HTTP 简介

    HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

    HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP协议进行通信的HTTP的实现程序。

    HTTP协议是基于B/S架构进行通信的,而HTTP协议的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、InternetExplorer、Google chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这客户端浏览器和Web服务器之间就可以通过HTTP协议进行通信了。

    2.1.2 HTTP工作原理

    HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:

    (1)客户与服务器建立连接;

    (2)客户向服务器提出请求;

    (3)服务器接受请求,并根据请求返回相应的文件作为应答;

    (4)客户与服务器关闭连接。

    客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中成干上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。

    HTTP是一种无状态协议,即服务器不保留与客户交易时的任何状态。这就大大减轻了服务器记忆负担,从而保持较快的响应速度。HTTP是一种面向对象的协议。允许传送任意类型的数据对象。它通过数据类型和长度来标识所传送的数据内容和大小,并允许对数据进行压缩传送。当用户在一个HTML文档中定义了一个超文本链后,浏览器将通过TCP/IP协议与指定的服务器建立连接。

    从技术上讲是客户在一个特定的TCP端口(端口号一般为80)上打开一个套接字。如果服务器一直在这个周知的端口上倾听连接,则该连接便会建立起来。然后客户通过该连接发送一个包含请求方法的请求块。

    HTTP规范定义了9种请求方法,每种请求方法规定了客户和服务器之间不同的信息交换方式,常用的请求方法是GET和POST。服务器将根据客户请求完成相应操作,并以应答块形式返回给客户,最后关闭连接。

    2.2 FTP协议

    2.2.1 FTP简介

    文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

    FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

    FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。它能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。

    2.2.2 FTP工作原理

    FTP 采用 Internet 标准文件传输协议 FTP 的用户界面, 向用户提供了一组用来管理计算机之间文件传输的应用程序。

    FTP 是基于客户———服务器(C/S)模型而设计的,在客户端与 FTP 服务器之间建立两个连接。

    开发任何基于 FTP 的客户端软件都必须遵循 FTP 的工作原理,FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序一般只有一条 TCP 连接。客户有三个构件:用户接口、客户控制进程和客户数据传送进程。服务器有两个构件:服务器控制进程和服务器数据传送进程。在整个交互的 FTP 会话中,控制连接始终是处于连接状态的,数据连接则在每一次文件传送时先打开后关闭。

    2.2.3 FTP成功的条件

    成功FXP有两个必要条件:①两个FTP服务器均支持FXP;②两个FTP服务器均支持PASV方式。但并不是说满足这两个条件的FTP服务器均经本地操作成功FXP,这还与本地与FTP服务器的网络状况有关。故有时会出现同样两个FTP,别人可以FXP,而你不可以的情况。

    3 概要设计

    安装IIS:

    1)点击开始→控制面板。如图3.1。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fPKWInDk-1604056398774)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps1.jpg)]

    图3.1控制面板

    2)在控制面板里对话框内点击“程序”。如图3.2。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n7IGkce7-1604056398776)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps2.jpg)]

    图3.2 程序与功能

    3)在“程序”对话框点击“启用或关闭windows功能”。如图3.3。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gPsawZY1-1604056398778)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps3.jpg)]

    图3.3启用或关闭windows功能”

    4)

    在“Windows功能”对话框里选中“Internet Information Services”,在Internet Information Services功能展开选择框里根据你的需要选择你需要的功能就行了,比如本人要用FTP功能,能运行ASP.NET程序等等,只要选中这些功能就行了。并点击“确定”按钮。如图3.4。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sV8G6ZAc-1604056398781)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps4.jpg)]

    图3.4 IIS

    5)

    Windows功能开始下载并安装你要的功能的程序,直到出现“Windows已完成请求的更改”,点击重启电脑。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tj5bAhrg-1604056398784)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps5.jpg)]

    图3.5完成安装IIS

    6)在IE地址里输入localhost,将其打开。

    4 详细设计

    4.1 在iis服务器上搭建一个HTTP网站

    1)右键单击“网站”。如图4.1。给网站输入名字,

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gll7LK5R-1604056398786)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps6.jpg)]

    图4.1 创建网站

    2)给网站输入名字。

    3)为网站选择物理路径,这里默认选择自定义网站文件夹。

    4)为网站配置ip地址,此处设置为本机地址,点击确定。如图4.2。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CSNqCEMb-1604056398787)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps7.jpg)]

    图4.2 创建IP地址

    5)在网站本地路径里面配置网页文件。如图4.3。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZKTag1HD-1604056398789)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps8.jpg)]

    图4.3寻找网页文件

    6)打开浏览器在网址栏输入http://127.0.0.1:80进入请求服务器,服务器响应如下网页。如图4.4.

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oeKYMeT7-1604056398790)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps9.jpg)]

    图4.4服务器响应

    4.2 ftp服务器的搭建

    1)再次右键点击网站点击添加ftp。

    2)在添加ftp站点的时候输入如下自定义信息,然后点击下一步。

    3)绑定和ssl设置,然后点击下一步。如图4.5。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mk9LBP9H-1604056398791)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps10.jpg)]

    图4.5绑定和SSL设置

    4)点击完成身份验证和授权信息。

    5)在ftp服务器的物理路径中放入相应的文件用于测试,如图4.6.

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AO2kIuh8-1604056398793)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps11.jpg)]

    图4.6FTP物理途径

    6)然后打开浏览器在url地址栏中输入ftp://127.0.0.1:21回车确定,就可以访问到服务器上面的文件,点击其中一个文件就可下载到本地。如图4.7.

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JnQbqezN-1604056398795)(file:///C:\Users\DELL\AppData\Local\Temp\ksohtml12188\wps12.jpg)]

    图4.7 FTP服务器响应

    5 结果分析

    ​ 从开始的协议分析到最后的实验结束,都达到了预期的实验要求,http协议和ftp协议都处于应用层两者之间有着一定的联系,http服务器实现了请求与响应的过程,ftp服务器实现了文件传输的过程,http可以访问到已经搭建好的网站,并成功访问相应页面,ftp成功将文件下载到本地。

    展开全文
  • Web服务器配置Https

    2020-06-09 19:08:14
    Web服务器配置Https 一Openssl是什么? OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。...

    Web服务器配置Https

    一Openssl是什么?

    OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

    SSL是Secure Socket
    Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已成为Internet上保密通讯的工业标准。安全套接层协议能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。通过以上叙述,SSL协议提供的安全信道有以下三个特性:
    1、数据的保密性
    信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要用到密钥来加密数据然后再解密。没有了密钥,就无法解开加密的数据。数据加密之后,只有密钥要用一个安全的方法传送。加密过的数据可以公开地传送。
    2、数据的完整性
    加密也能保证数据的一致性。例如:消息验证码(MAC),能够校验用户提供的加密信息,接收者可以用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。
    3、安全验证
    加密的另外一个用途是用来作为个人的标识,用户的密钥可以作为他的安全验证的标识。SSL是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密资料时的加密通讯协定。

    3.查看openssl以及默认openssl.cnf存放位置

    openssl version -a output: OpenSSL 1.1.1c 28 May 2019 built on: Tue
    Aug 20 11:46:33 2019 UTC platform: debian-amd64 options: bn(64,64)
    rc4(16x,int) des(int) blowfish(ptr) compiler: gcc -fPIC -pthread -m64
    -Wa,–noexecstack -Wall -Wa,–noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-D7S1fy/openssl-1.1.1c=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 OPENSSLDIR: “/usr/lib/ssl” ENGINESDIR: “/usr/lib/x86_64-linux-gnu/engines-1.1” Seeding source: os-specific

    看到默认位置为OPENSSLDIR: “/usr/lib/ssl” 所以配置文件在本目录下

    4.查看配置文件 vim /usr/lib/ssl/openssl.cnf

    [ CA_default ]
    
    dir             = ./demoCA              # Where everything is kept
    certs           = $dir/certs            # Where the issued certs are kept
    crl_dir         = $dir/crl              # Where the issued crl are kept
    database        = $dir/index.txt        # database index file.
    #unique_subject = no                    # Set to 'no' to allow creation of
                                            # several certs with same subject.
    new_certs_dir   = $dir/newcerts         # default place for new certs.
    
    certificate     = $dir/cacert.pem       # The CA certificate
    serial          = $dir/serial           # The current serial number
    crlnumber       = $dir/crlnumber        # the current crl number
                                            # must be commented out to leave a V1 CRL
    crl             = $dir/crl.pem          # The current CRL
    private_key     = $dir/private/cakey.pem# The private key
    
    x509_extensions = usr_cert  
    

    5…创建为根证书CA所需的目录及文件,根据配置文件创建demoCA文件夹,以及各种文件

    sudo mkdir /usr/lib/ssl/demoCA
    cd /usr/lib/ssl/demoCA
    
    mkdir -pv {certs,crl,newcerts,private}
    touch {serial,index.txt}
    

    6.指明证书的开始编号

    echo 01 >> serial
    

    7.生成根证书的私钥(注意:私钥的文件名与存放位置要与配置文件中的设置相匹配),在配置文件中存放路径是相对路径,需要修改路径为 /usr/llib/ssh/demoCA

    (umask 077; openssl genrsa -out private/cakey.pem 2048)
    

    参数说明:

    genrsa --产生rsa密钥命令

    -aes256–使用AES算法(256位密钥)对产生的私钥加密,这里没有此参数,则只是用了rsa算法加密。

    -out —输出路径,这里指private/ca.key.pem

    这里的参数2048,指的是密钥的长度位数,默认长度为512位

    8.生成自签证书,即根证书CA,自签证书的存放位置也要与配置文件中的设置相匹配,生成证书时需要填写相应的信息。注意Common Name 填写 localhost

    openssl req -new -x509 -key /usr/lib/ssl/demoCA/private/cakey.pem -out cacert.pem -days 365
    

    参数说明:

    参数说明:

    -new:表示生成一个新证书签署请求

    -x509:专用于CA生成自签证书,如果不是自签证书则不需要此项

    -key:用到的私钥文件

    -out:证书的保存路径

    -days:证书的有效期限,单位是day(天),默认是openssl.cnf的default_days ls /usr/lib/ssl/demoCA

    cacert.pem
    由上看到cacert.pem CA根证书生成

    9.配置服务器证书ssl

    mkdir /usr/local/apache2/ssl
    cd   /usr/local/apache2/ssl
    

    ①生成apache.key

    (umask 077; openssl genrsa -out nginx.key 2048)
    

    ②生成证书签署请求

    需要根据提示填写对应信息,但是必须和根证书的CA相同,唯一不同的是Common Name 为你的域名如(localhost)

    openssl req -new -key apache.key -out apache.csr -days 365
    

    ③在根证书服务器上颁发证书

    #我们创建一个req文件夹来接受服务器发送过来的文件(签署请求的csr文件、key文件等)
    sudo mkdir /usr/lib/ssl/demoCA/req
    #颁发证书,先把csr,key文件拷贝到req目录然后

    sudo openssl ca -in /usr/lib/ssl/demoCA/req/apache.csr -out /usr/lib/ssl/demoCA/certs/apache.crt -days 365
    

    二 服务器配置
    cd /usr/local/apache2/conf
    vi httpd.conf
    在这里插入图片描述
    cd extra
    vi http_ssl.conf
    在这里插入图片描述

    展开全文
  • 单元8 配置与管理Web服务器;了解Web服务器相关概念 掌握用域名访问的虚拟主机的配置 掌握Web服务器的安全性配置 ;情景描述 为了宣传公司的文化形象XX公司开发了一个企业门户网站管理员小明需要将制作好的网站发布到...
  • PAGE PAGE 1 项目18 Web服务器配置与管理 项目指导书 一实训目的 掌握Linux系统中Apache服务器的安装与配置 掌握个人主页虚拟目录基于用户和主机的访问控制及虚拟主机的实现方法 二项目背景 假如你是某学校的网络...
  • 准备工作 1.NodeMCU模块 ...搭建web服务器 下载https://github.com/wangzexi/NodeMCU-HTTP-Server文件,并上传到NodeMCU中 修改init.lua文件,可参看NodeMCU-HTTP-Server Example ...

    准备工作

    1.NodeMCU模块

    2.ESPlorer v0.2.0-rc6

    3.NodeMCU-HTTP-Server

    搭建web服务器

    下载https://github.com/wangzexi/NodeMCU-HTTP-Server文件,并上传到NodeMCU中

     

    修改init.lua文件,可参看NodeMCU-HTTP-Server Example

    -- init.lua
    
    ---------------------
    -- wifi
    ---------------------
    
    print('Setting up WIFI...')
    wifi.setmode(wifi.STATION)
    wifi.sta.config('WX401901', 'smyh1234') 
    wifi.sta.autoconnect(1)
    
    tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()
        if wifi.sta.getip() == nil then
            print('Waiting for IP ...')
        else
            print('IP is ' .. wifi.sta.getip())
        tmr.stop(1)
        end
    end)
    
    -- Serving static files
    dofile('httpServer.lua')
    httpServer:listen(80)
    
    -- Custom API
    -- Get text/html
    httpServer:use('/welcome', function(req, res)
        res:send('Hello ' .. req.query.name) -- /welcome?name=doge
    end)
    
    -- Get file
    httpServer:use('/doge', function(req, res)
        res:sendFile('doge.jpg')
    end)
    
    -- Get json
    httpServer:use('/json', function(req, res)
        res:type('application/json')
        res:send('{"doge": "smile"}')
    end)
    
    -- Redirect
    httpServer:use('/redirect', function(req, res)
        res:redirect('doge.jpg')
    end)
    View Code

    现在是工作在STATION模式下,保存后可以看到获取的IP地址,在浏览器中输入http://192.168.100.100就可以看到一个简单的页面了。

     

    修改成 wifi.setmode(wifi.STATIONAP) 模式,出现了内存不足的错误,无视它。

    E:M 248
    not enough memory
    stack traceback:
    [C]: in function 'dofile'
    init.lua:22: in main chunk
    [C]: in function 'dofile'
    stdin:1: in main chunk

    现在NodeMCU有两个IP,一个是作为STATION的192.168.100.100,另外一个是作为AP的192.168.4.1,这时在无线列表中会多出一个AI-THINKER_AC72F4,用手机或电脑连上后浏览器中输入http://192.168.4.1 也可以看到页面。

    实现Web配置无线连接账号和密码

    这里借用NodeMCU之旅(四):实现Web配置页面配置页面

    首先,删除上一步中上传的测试文件 404.html和doge.jpg

    然后,上传新的配置页面

    最后,修改init.lua文件去掉演示web相关的路由配置添加两个新的路由:

    httpServer:use('/config', function(req, res)
        if req.query.ssid ~= nil and req.query.pwd ~= nil then
            wifi.sta.config(req.query.ssid, req.query.pwd)
    
            status = 'STA_CONNECTING'
            status_sleep=0
            tmr.alarm(TMR_WIFI, 1000, tmr.ALARM_AUTO, function()
                status_sleep=status_sleep+1
           --当设置的账号密码错误时,定时器不会停止,所以这里添加了超时检查
                if(status_sleep==10) then
                       res:type('application/json')
                    res:send('{"status":"timeout"}')
                    tmr.stop(TMR_WIFI)    
                 end
                
                if status ~= 'STA_CONNECTING'  then
                    res:type('application/json')
                    res:send('{"status":"' .. status .. '"}')
                    tmr.stop(TMR_WIFI)                
                end
    
                
            end)
        end
    end)
    
    -- Get json
    httpServer:use('/scanap', function(req, res)
    
      wifi.sta.getap(function(table)
            local aptable = {}
            for ssid,v in pairs(table) do
                local authmode, rssi, bssid, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]+)")
                aptable[ssid] = {
                    authmode = authmode,
                    rssi = rssi,
                    bssid = bssid,
                    channel = channel
                }
            end
            res:type('application/json')
    --原来是cjson.encode(aptable),因为构建固件时没有找到cjson用了sjson,所以这里改成sjson res:send(sjson.encode(aptable))
    end) end)

    当请求的方法里出现异常时前端看到的是404错误,这个坑让我一直怀疑是httpServer.lua的问题

    保存后,访问http://192.168.100.100,修改成一个错误的密码,点击连接网络,Led灯开始闪烁然后模块重启常亮,表示修改失败。 

    * Sending index.html
    * Finished index.html
    PANIC: unprotected error in call to Lua API (httpServer.lua:77: not connected)

    还得切换Wifi到AI-THINKER_AC72F4,通过http://192.168.4.1修改账号密码。

     

    -- init.lua
    
    ----------------------
    --define
    ---------------------
    IO_BLINK = 4
    
    TMR_WIFI = 4
    TMR_BLINK = 5
    TMR_BTN = 6
    
    gpio.mode(IO_BLINK, gpio.OUTPUT)
    
    
    ---------------------
    -- blink
    ---------------------
    blink = nil
    tmr.register(TMR_BLINK, 100, tmr.ALARM_AUTO, function()
        gpio.write(IO_BLINK, blink.i % 2)
        tmr.interval(TMR_BLINK, blink[blink.i + 1])
        blink.i = (blink.i + 1) % #blink
    end)
    
    function blinking(param)
        if type(param) == 'table' then
            blink = param
            blink.i = 0
            tmr.interval(TMR_BLINK, 1)
            running, _ = tmr.state(TMR_BLINK)
            if running ~= true then
                tmr.start(TMR_BLINK)
            end
        else
            tmr.stop(TMR_BLINK)
            gpio.write(IO_BLINK, param or gpio.LOW)
        end
    end
    
    ---------------------
    -- wifi
    ---------------------
    
    print('Setting up WIFI...')
    wifi.setmode(wifi.STATIONAP )
    wifi.sta.config('WX401901', 'smyh1234') 
    wifi.sta.autoconnect(1)
    
    tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()
        if wifi.sta.getip() == nil then
            print('Waiting for IP ...')
        else
            print('IP is ' .. wifi.sta.getip())
        tmr.stop(1)
        end
    end)
    
    status=nil
    
    wifi.sta.eventMonReg(wifi.STA_WRONGPWD, function()
        blinking({100, 100 , 100, 500})
        status = 'STA_WRONGPWD'
        print(status)
    end)
    
    wifi.sta.eventMonReg(wifi.STA_APNOTFOUND, function()
        blinking({2000, 2000})
        status = 'STA_APNOTFOUND'
        print(status)
    end)
    
    wifi.sta.eventMonReg(wifi.STA_CONNECTING, function(previous_State)
        blinking({300, 300})
        status = 'STA_CONNECTING'
        print(status)
    end)
    
    wifi.sta.eventMonReg(wifi.STA_GOTIP, function()
        blinking()
        status = 'STA_GOTIP'
        print(status, wifi.sta.getip())
    end)
    
    wifi.sta.eventMonStart(1000)
    
    ---------------------
    -- http
    ---------------------
    dofile('httpServer.lua')
    httpServer:listen(80)
    
    httpServer:use('/config', function(req, res)
        if req.query.ssid ~= nil and req.query.pwd ~= nil then
            wifi.sta.config(req.query.ssid, req.query.pwd)
    
            status = 'STA_CONNECTING'
            status_sleep=0
            tmr.alarm(TMR_WIFI, 1000, tmr.ALARM_AUTO, function()
                status_sleep=status_sleep+1
    
                if(status_sleep==10) then
                       res:type('application/json')
                    res:send('{"status":"timeout"}')
                    tmr.stop(TMR_WIFI)    
                 end
                
                if status ~= 'STA_CONNECTING'  then
                    res:type('application/json')
                    res:send('{"status":"' .. status .. '"}')
                    tmr.stop(TMR_WIFI)                
                end
                
            end)
        end
    end)
    
    -- Get json
    httpServer:use('/scanap', function(req, res)
    
      wifi.sta.getap(function(table)
            local aptable = {}
            for ssid,v in pairs(table) do
                local authmode, rssi, bssid, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]+)")
                aptable[ssid] = {
                    authmode = authmode,
                    rssi = rssi,
                    bssid = bssid,
                    channel = channel
                }
            end
            res:type('application/json')
            res:send(sjson.encode(aptable))  
        end)
    end)
    init.lua

     

    相关资源 

    NodeMCU文档

    NodeMCU custom builds

    nodemcu-flasher

    ESPlorer.zip

    Zepto中文API

    本文是在NodeMCU之旅(三):响应配置按钮NodeMCU之旅(四):实现Web配置页面 基础之上的学习过程,感谢原作者。

     

    转载于:https://www.cnblogs.com/zeroes/p/nodemcu_webserver.html

    展开全文
  • Web服务器配置与管理

    千次阅读 2015-12-27 19:24:00
    Web 服务器配置与管理 一.目的:  主要目的是学习网络服务器配置,包括IIS 配置方法、 Apache 配置 ... (3)制作简单网页验证Web服务器配置情况。 三.环境:  (1)WindowsXP/Windows Server 2003  
  • 原理 (1)万维网(WordWideWeb,WWW)也称Web,它是一个大规模联机式信息储藏所,万维网采用超链接的方法从Internet上的一个站点访问另一个站点,...种在信息网络内从一个网页迅速转移到另一个网页的手段。万维网的...
  • 许多WEB服务器的安全配置策略,都可以防止黑客破坏WEB服务器配置,毕竟,WEB服务器的安全是大家最关心的问题,黑客通过软件或其他手段暴力破解WEB服务器的后台密码,获得服务器后台权限后对WEB服务器的服务器配置...
  • Windows2008R2配置 WEB服务器 1. 目的 1.1 熟练掌握 Windows Server 2008R2 配置 WEB 服务器 2. 环境 2.1 Windows Server2008R2 环境 3. 内容 3.1 Windows Server2008R2 配置 WEB 服务器 4. 步骤 4.1 Windows Server...
  • Web 服务器配置和管理

    千次阅读 2016-05-19 13:32:49
     第16 章 Web 服务器配置和管理  Web 服务是目前Internet 上最常见的服务之一,要搭建一个Web 服务器,首先要选择 一套合适的Web 程序。在本章中将会以强大的Apache 为例,介绍相关的安装、配置、维 护和高级...
  • linux网络服务器配置课程设计。 使用ubuntu配置DNS服务器和web服务器。图文。 11111111111111111111111111111111111111111111
  • 计算机网络课程实验报告-安装和配置FTP服务器和WEB服务器
  • 前公司产品需要使用到IIS这块,萌新入门的自己看着网上的教程,自己摸索着前进…学会走不急着跑,先稳固一下讲讲简单的 IIS Web服务器怎么搭,让不太涉及Web的童鞋及自己(温故)快速上手。目前有一款iis7服务器监控...
  • Web服务器配置解析

    2013-08-26 17:35:04
    Web服务器概述Web服务器也称WWW服务器,主要功能是提供网上信息浏览服务。WWW采用的是客户端/服务器端结构,其作用是整理和储存各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到客户端的机器上并显示...
  • Linux Apache Web服务器配置教程       【网讯网络通信学院】    ·菜鸟大学堂:一步一步配置WEB服务器·使用IIS为Web内容配置Web服务器权限 ·Linux下配置功能完善的Web服务器...
  • 配置web服务器

    2015-10-21 16:10:27
    1.HTTP协议简介HTTP(HyperText Transfer Protocol,超文本传输协议)是...通过web浏览器或其他的工具,由HTTP客户端使用URL发起一个请求,建立一个到服务器指定端口的TCP连接。tcp:传输控制协议,面向连接的协议...
  • 计算机网络实验指导手册,包含网络命令的参数学习等,对等网的组建与文件共享,常见网络测试命令的使用,建立局域网中的电子邮件服务,使用Server-U建立FTP服务,配置DNS、Web服务器,设置共享文件和文件夹,文件...
  • 动态WEB服务器配置与管理 一.目的:  主要目的是学习支持动态语言的网络服务器配置与管理,包括支持ASP、ASP.NET的IIS服务器,支持PHP语言的 Apache服务器以及支持JSP语言的Tomcat服务器等。 二.内容:  (1...
  • Web服务器配置和管理

    2011-10-01 10:06:00
    第16 章 Web 服务器配置和管理 Web 服务是目前Internet 上最常见的服务之一,要搭建一个Web 服务器,首先要选择 一套合适的Web 程序。在本章中将会以强大的Apache 为例,介绍相关的安装、配置、维 护和高级功能...
  • 可以做Web服务器的目前有两大流行...本文将介绍在WindowsServer2003下如何配置Web服务器,涉及到的内容包括建立简单的Web站点、虚拟目录以及如何在一台服务器上建立多个站点。 【所需软件】 1、VMwareWorkstatio...
  • JavaWeb服务器配置使用 WEB开发的前景 软件开发的两种架构:B/S 和 C/S 随着网络带宽的不断提升,云计算概念的提出,浏览器只要足够强大,c/s架构立马就会被淘汰,不仅c/s架构会被淘汰,软件最终都会消失、操作...
  • 使用nginx / php-fpm / mysql和Symfony2为Web服务器配置的Ansible配置 组件 Nginx的 php-fpm php-cli 国际 PDO MySQL的 symfony安装程序 phpmyadmin 作曲家 邮件捕手 配置 Ubuntu盒子 来自Vagrantbox.es的Ubuntu...
  •  选择“WEB服务器(IIS)”,注意:首次安装IIS的时候,当你点击“下一步”的时候会提示“是否添加WEB服务器所需的功能”对话框。 提示在安装IIS时,必须同时安装“Windows进程激活服务”。单击“添加必须的功能.....
  • 五、IIS的安装、Web服务器配置及测试 1、IIS的安装 第一步:首先将光盘放入光驱中。 第二步:单击“开始”——“设置”——“控制面板”,打开“控制面板“对话框,选择”添加和删除windows组件“。打开windows...
  • Ubuntu FTP+Web服务器配置

    千次阅读 2018-11-03 14:15:34
    最近又一次上了网络编程课,老师让配置这俩服务器。我就在Ubuntu上配置了,现在把步骤记录如下: 一、FTP服务器配置 1.在terminal下输入su,进入root模式,密码自己填 2.安装vsftpd软件,安装命令如下: sudo ...
  • 2.服务器:修改httpd的配置文件,@后缀指向所需要访问的网络地址(例如:server0.example.com),也可以是ip地址(172.25.0.11)。3.服务器:修改默认的网页。查看本地文件进行确认。4.服务器:启动服务,载入启动项...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,700
精华内容 2,680
关键字:

web服务器网络配置