基于openssl的安全web服务器 openssl iis

跪求基于OpenSSL的安全web服务器的设计的代码,在windows的vc上操作

google code上有那种mini web server,mongoose吧。支持openssl的,可以看一下。就一两个文件。

专注于为中小企业提供成都网站制作、网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业莘县免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

如何在openSUSE 12.1下搭建Web服务器

openSUSE 12.1下安装MySQL5

1.安装MySQL5

首先我们需要先用下面的命令安装MySQL5:

yast2 -i mysql mysql-client mysql-community-server

然后我们需要创建MySQL系统的启动键链接启动MySQL服务器,这样以便于MySQL在系统启动时自动启动,

systemctl enable mysql.service

systemctl start mysql.service

为了确保MySQL的安装完成,运行:

mysql_secure_installation

下面会遇到下面的提示问题;

server1:~ # mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current

password for the root user. If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

Enter current password for root (enter for none): -- 输入密码

OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n] -- 输入Y

New password: -- 设置数据库密码

Re-enter new password: -- 重新输入数据库密码

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them. This is intended only for testing, and to make the installation

go a bit smoother. You should remove them before moving into a

production environment.

Remove anonymous users? [Y/n] -- 选择Y

... Success!

Normally, root should only be allowed to connect from 'localhost'. This

ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] -- 选择Y

... Success!

By default, MySQL comes with a database named 'test' that anyone can

access. This is also intended only for testing, and should be removed

before moving into a production environment.

Remove test database and access to it? [Y/n] -- 选择Y

- Dropping test database...

... Success!

- Removing privileges on test database...

... Success!

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

Reload privilege tables now? [Y/n] -- 选择Y

... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!

server1:~ #

现在你的MySQL安装应成功了

3openSUSE 12.1下安装Apache2

3.openSUSE 12.1下安装Apache2

Apache2的是作为一个openSUSE的软件包,因此,我们可以用下面命令安装它:

yast2 -i apache2

现在配置系统在引导时启动Apache

systemctl enable apache2.service

并启动Apache2

systemctl start apache2.service

现在,在您的浏览器输入http://192.168.0.100,你应该看到Apache2的首页页(不用担心403错误,这种情况,因为有没有索引文件(例如index.html的文件根目录)) :

错误提示

Apache的默认文档根目录是在openSUSE上的/srv/www/htdocs/目录 ,配置文件是/etc/apache2/httpd.conf。配置存储在的/etc/apache2/conf.d /目录。

4.安装PHP5

我们可以安装PHP5和Apache的PHP5的模块如下:

yast2 -i apache2-mod_php5

事后我们必须重新启动Apache:

systemctl restart apache2.service

4openSUSE 12.1下此时PHP5

5.测试PHP5并获取PHP5的安装信息

默认网站的文件根目录是在/srv/www/htdocs/中。现在我们将在该目录中创建一个小型PHP文件(info.php的)和在浏览器中调用它。该文件将显示很多关于我们的PHP安装,如安装的PHP版本和有用的一些细节。

vi /srv/www/htdocs/info.php

PHP设置

如果您得到的消息是你没有一个有效的Vim安装的二进制软件包。请安装“VIM”,“vim的增强型”或者“gvim”,请运行:

yast2 -i vim

安装VI并再次尝试。

现在,我们请在浏览器(如文件http://192.168.0.100/info.php):

PHP首页

正如你所看到的,PHP5的工作,它通过Apache 2.0的处理程序,在服务器API线。如果你继续向下滚动,你会看到所有在PHP5中已经启用的模块。MySQL是没有列出,这意味着我们没有在PHP5支持MySQL。

6.获得MySQL支持

让PHP在MySQL中获得支持,我们可以安装的php5-mysql软件包。安装一些其他的PHP5模块,以及您可能需要的应用程序,这是一个好主意:

yast2

-i php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl

php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap

php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl

php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets

php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl

php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm

现在重新启动Apache2的:

systemctl restart apache2.service

现在,重载http://192.168.0.100/info.php在您的浏览器,并再次向下滚动到模块部分。现在,你应该找到许多新的模块,包括MySQL模块:

MYSQL显示

5openSUSE 12.1下安装phpMyAdmin

7. 安装phpMyAdmin

phpMyAdmin是一个网络接口,通过它可以管理你的MySQL数据库。

phpMyAdmin的可安装如下:

yast2 -i phpMyAdmin

 

 为了确保我们稍后通过ISPConfig创建的所有网站访问phpMyAdmin的可以和登录使用

phpmyadmin(http://)和phpMyAdmin(如http:

//),打开/ etc/apache2/conf.d/phpMyAdmin.conf文件设置

vi /etc/apache2/conf.d/phpMyAdmin.conf

并开始添加以下两个别名:

设置别名

重新启动Apache:

systemctl restart apache2.service

在地址栏输入http://192.168.0.100/phpMyAdmin/:你就可以访问phpMyAdmin了。

phpMyAdmin页面

以上就是在openSUSE12.1服务器版本搭建Web服务器的具体过程,大家可以根据提示一步步进行操作,基本上就能设置好,大家可以用虚拟机进行尝试,毕竟Linux下搭建服务器是经常碰到的操作。

SSL 证书链及 Web 服务器配置

有两种类型的证书颁发机构(CA):根 CA 和中间 CA。如果想让一个设备信任一个证书,必须保证该证书设备信任的 CA 颁发。

如果证书不是由受信任的 CA 签发的,则连接设备(例如,网页浏览器)将检查发行 CA 的证书是否由可信 CA 颁发,等等,直到找到可信 CA 为止 (此时将建立可信的安全连接),或者找不到可信的 CA(此时设备通常会显示错误)。

SSL 证书列表(从根证书到最终用户证书)代表 SSL 证书链。

这是一个实际的例子。 假设您从 Awesome Authority 购买域 example.awesome 的证书。

Awesome Authority 不是根证书颁发机构。 换句话说,它的证书并不直接嵌入到您的 Web 浏览器中,因此它不能被明确信任。

在我们的示例中,SSL 证书链由 6 个证书表示:

证书 1 是您的最终用户证书,即您从 CA 购买的证书。 从 2 到 5 的证书称为中间证书。 证书 6,即位于链条顶部的链接称为根证书。

当您为 example.awesome 安装最终用户证书时,必须捆绑所有中间证书并将它们与最终用户证书一起安装。 如果SSL证书链无效或损坏,则某些设备不会信任您的证书。

不用。根证书通常嵌入您的连接设备中。 在 Web 浏览器的情况下,根证书与浏览器软件一起打包。

安装中级 SSL 证书的过程取决于 Web 服务器和安装证书的环境。

例如,Apache 要求您捆绑中间 SSL 证书,并将该包的位置指定给 SSLCertificateChainFile 配置项。 而 Nginx 要求您将中间 SSL 证书与最终用户证书打包在一个包中。

我们提供一个证书安装向导,其中包含多个服务器和平台的安装说明。 如果您向我们购买证书,您将能够 使用此向导获取并安装服务器所需的文件 。

如果您的服务器不在向导中,您仍然可以通过它获取正确的文件,然后按照 Web 服务器的文档来确定如何正确安装域证书和中间证书。

如果您未安装一个或多个中级 SSL 证书,则会破坏证书链。 这意味着您在特定(最终用户或中间)证书与其颁发者之间建立了缝隙。 当设备找不到证书的受信任颁发者时,证书和从中间证书直到最终证书的整个链都不可信。

因此,您的最终证书不会被信任。 Web浏览器将显示“无效证书”或“证书不可信”错误。

这不可能。 缩短链条的唯一方法是将中间证书提升为根。 理想情况下,您应该推广代表您的证书颁发机构的证书,这样该链只包含两个证书。

但是,根证书与浏览器软件一起打包,如果不是来自浏览器维护人员,则不能更改该列表。

某些浏览器可能会抱怨由非知名证书颁发机构签署的证书,而其他浏览器可能会接受证书而没有问题。 发生这种情况的原因,是颁发机构使用中间证书对服务器证书进行了签名,该中间证书不在与特定浏览器一起分发的知名的的受信任证书颁发机构的证书库中。 在这种情况下,权威机构提供一系列链接的证书,这些证书应连接到已签署的服务器证书。 服务器证书必须出现在组合文件中的链接证书之前:

生成的文件应该在 ssl_certificate 指令中使用:

如果服务器证书和软件包已按照错误顺序连接,Nginx 将无法启动并显示错误消息:

因为 Nginx 已经尝试将私钥与该包的第一个证书一起使用,而不是服务器证书。

浏览器通常存储他们收到的中间证书并由受信任的机构签名,因此主动使用的浏览器可能已经具有所需的中间证书,并且可能不会抱怨没有链接包发送的证书。 为确保服务器发送完整的证书链,可以使用 openssl 命令行实用程序,例如:

(完)


网页名称:基于openssl的安全web服务器 openssl iis
本文URL:http://azwzsj.com/article/ddoopjg.html