web服务器/CA认证机构/客户端访问

---web服务器---

#yum install httpd -y
#service httpd start
#chkconfig httpd on
#vi /var/www/html/index.html
---------------
<h1>http://www.baidu.com
<br>172.16.254.101
---------------
# openssl genrsa 1024 > web.key
//制作一个1024长度的私钥
# openssl req -new -key web.key -days 365 -out web.csr
//生成一个签名请求
//req --- openssl中的子命令用来做证书及签名请求
//-new --- 创建一个
//-key --- 指定私钥
//-days --- 有效期
//-out --- 输出
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]:CN
State or Province Name (full name) []:liaoning
Locality Name (eg, city) [Default City]:shenyang
Organization Name (eg, company) [Default Company Ltd]:uplooking
Organizational Unit Name (eg, section) []:instructor
Common Name (eg, your name or your server‘s hostname) []:s1.uplooking.com
Email Address []:[email protected]

Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []: <按回车>
An optional company name []: <按回车>

#scp /root/web.csr s2:/root

---CA认证机构---
--->将s1的签名请求web.csr签发生成web.crt

s2现在并不是一个CA认证机构
需要先将s2部署成为CA认证机构

部署CA认证机构比较繁琐,
我们使用错误提示的方式构建CA认证机构,
并签发签名请求

# openssl ca -in web.csr -out web.crt //直接签发看错误提示
Using configuration from /etc/pki/tls/openssl.cnf
Error opening CA private key /etc/pki/CA/private/cakey.pem

# openssl genrsa 1024 > /etc/pki/CA/private/cakey.pem
//生成CA认证机构所需的私钥

# openssl ca -in web.csr -out web.crt
Using configuration from /etc/pki/tls/openssl.cnf
Error opening CA certificate /etc/pki/CA/cacert.pem

# openssl req -new -key /etc/pki/CA/private/cakey.pem -days 365 -x509 -out /etc/pki/CA/cacert.pem
//生成CA认证机构的自签名证书
//-x509 数字证书协议
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]:CN
State or Province Name (full name) []:liaoning
Locality Name (eg, city) [Default City]:shenyang
Organization Name (eg, company) [Default Company Ltd]:uplooking
Organizational Unit Name (eg, section) []:uplooking
Common Name (eg, your name or your server‘s hostname) []:s2.uplooking.com
Email Address []:[email protected]

# openssl ca -in web.csr -out web.crt
Using configuration from /etc/pki/tls/openssl.cnf
/etc/pki/CA/index.txt: No such file or directory
unable to open ‘/etc/pki/CA/index.txt‘

# touch /etc/pki/CA/index.txt //生成CA的索引文件

# openssl ca -in web.csr -out web.crt
Using configuration from /etc/pki/tls/openssl.cnf
/etc/pki/CA/serial: No such file or directory
error while loading serial number

# echo 01 > /etc/pki/CA/serial //生成CA的序列号文件

----------------------------
生成一个最基本的用来签发的CA认证机构的步骤

# openssl genrsa 1024 > /etc/pki/CA/private/cakey.pem
//生成CA认证机构所需的私钥
# openssl req -new -key /etc/pki/CA/private/cakey.pem -days 365 -x509 -out /etc/pki/CA/cacert.pem
//生成CA认证机构的自签名证书
# touch /etc/pki/CA/index.txt //生成CA的索引文件
# echo 01 > /etc/pki/CA/serial //生成CA的序列号文件
-----------------------------

# openssl ca -in web.csr -out web.crt //签发证书
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Aug 19 01:51:32 2014 GMT
Not After : Aug 19 01:51:32 2015 GMT
Subject:
countryName = CN
stateOrProvinceName = liaoning
organizationName = uplooking
organizationalUnitName = instructor
commonName = s1.uplooking.com
emailAddress = [email protected]
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
7B:E3:E3:19:AF:BD:08:74:A3:49:58:96:4F:BC:82:DF:2B:1A:9 6:06
X509v3 Authority Key Identifier:
keyid:65:48:30:AF:9E:A4:45:33:ED:E6:7C:9F:CD:C7:82:C8:B 1:7D:7E:C4

Certificate is to be certified until Aug 19 01:51:32 2015 GMT (365 days )
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

#scp /root/web.crt s1:/root

---web服务器---
#yum install mod_ssl -y

# ls web.*
web.crt web.csr web.key
证书 签名请求 私钥

# vi /etc/httpd/conf.d/ssl.conf
-------------------------
105 SSLCertificateFile /etc/pki/tls/certs/web.crt
112 SSLCertificateKeyFile /etc/pki/tls/private/web.key
-------------------------
#
# cp web.crt /etc/pki/tls/certs/
# cp web.key /etc/pki/tls/private/
# service httpd restart
# netstat -antulp | grep :443

使用浏览器访问你的https的网站

将CA的证书导入到IE浏览器中,然后查看网页

---CA服务器---
# yum install vsftpd -y
# service vsftpd start
# cp /etc/pki/CA/cacert.pem /var/ftp/pub/s2CA.crt

客户端下载s2CA.crt证书
下载完成以后,导入证书

时间: 2024-10-25 01:20:36

web服务器/CA认证机构/客户端访问的相关文章

python socket 套接字编程 单进程服务器 实现多客户端访问

服务器: 1 import socket 2 #单进程服务器 实现多客户端访问 IO复用 3 #吧所有的客户端套接字 放在一个列表里面,一次又一次的便利过滤 4 #这就是apache: select模型 6 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 7 server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) #设置端口复用 8 #AF_INET: IPV4 9

PHP的异步Web服务器+异步Redis客户端

PHP的异步并行swoole扩展在1.7.7中内置了一个Http服务器,利用swoole_http_server可以轻松实现一个PHP的异步Web服务器,性能比php-fpm/Apache等同步阻塞的服务器高出数倍. swoole官方还提供了redis-async,一个异步IO+连接池的Redis客户端.这2个功能结合起来就可以打造一个并发请求数万的Web应用. 使用方法 1. 下载安装swoole扩展 可以使用pecl安装或者从github下载swoole最新的stable版本. pecl i

web服务器获取请求客户端真实地址的方法

服务器获取客户端或者网页的请求,获取IP时需要注意,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr() 方法获取的IP地址是:127.0.0.1 或 192.168.1.10 ,而并不是客户端的真实IP.但在经过代理服务器之后,请求头中都会多一些字段,我们可以根据这些字段来获取真实的IP而不是经

Web服务器访问失败故障处理技巧

很多公司都架设了Web服务器,不过架设好的Web服务器如果不经过访问测试,很可能无法达到顺利发布信息的目的:小编下面推荐的一则Web服务器访问失败故障就比较常见,现在我们就对它的排除过程进行总结,希望日后大家再次遭遇相同类型故障时可以快速进行应对!这些经验都是客户租用服务器的案例. 租用服务器|托管服务器|私服服务器租用|高防服务器|网站服务器租用|双线服务器租用|湖南双线|衡阳双线高防 为了能让单位员工及时了解上级指示精神以及单位通知和其他信息,单位领导决定在局域网中搭建Web服务器,保证局域

如何通过Holer实现HTTP和HTTPS访问本机localhost WEB服务器

HTTP和HTTPS访问本机localhost WEB服务器 内网主机上安装了WEB服务器,只能在局域网内或者本机上访问,怎样从公网也能访问本地WEB服务器? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装Java 1.7及以上版本 执行命令java -version检查Java安装和配置是否正确. 1.2 安装并启动WEB服务器 默认安装的WEB服务器HTTP端口是80,HTTPS端口是443. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:ho

从零开始搭建论坛(一):Web服务器与Web框架

之前用 Django 做过一个小的站点,感觉Django太过笨重,于是就准备换一个比较轻量级的 Web 框架来玩玩.Web.py 作者已经挂掉,项目好久没有更新,所以不准备用它.而 Flask 也是一个成熟的轻量级 Web 框架,在 github 上有众多的 Star 和 Fork,文档和扩展也很丰富,值得学习. 学习一个框架最好的方式就是用框架做一个项目,在实战中理解掌握框架.这里我用 Flask 框架,使用 Mysql 数据库做了一个论坛系统.麻雀虽小,五脏俱全,论坛效果图如下: 下面是论坛

嵌入式web服务器

现在在嵌入式设备中所使用的web服务器主要有:boa.thttpd.mini_httpd.shttpd.lighttpd.goaheand.appweb和apache等. Boa 1.介绍 Boa诞生于1991年,作者Paul Philips.是开源的,应用很广泛,特别适合于嵌入式设备,网上流行程度很广.它的官方网站说boa是最受人喜爱的嵌入式web服务器.功能较为强大,支持认证,cgi等.Boa 是一个单任务的HTTP SERVER,它不像传统的web服务器那样为每个访问连接开启一个进程,也不

Web服务器性能优化

Web 服务器性能与站点访问性能优化思路 要优化 Web 服务器的性能,我们先来看看 Web 服务器在 web 页面处理上的步骤:1.Web 浏览器向一个特定的服务器发出 Web 页面请求;2.Web 服务器接收到 web 页面请求后,寻找所请求的 web 页面,并将所请求的 Web 页面传送给 Web 浏览器;3.Web 浏览器接收到所请求的 web 页面内容,并将它显示出来. 上面三个步骤都关系 Web 服务器,但实际 Web 服务器性能相关最大的是在第 2 步,这里 Web 服务器需要寻找

学习用node.js建立一个简单的web服务器

一.建立简单的Web服务器涉及到Node.js的一些基本知识点: 1.请求模块 在Node.js中,系统提供了许多有用的模块(当然你也可以用JavaScript编写自己的模块,以后的章节我们将详细讲解),如http.url等.模块封装特定的功能,提供相应的方法或属性,要使用这些模块,需要先请求模块获得其操作对象. 例如要使用系统的http模块,可以这样写: var libHttp = require('http'); //请求HTTP协议模块 这样,以后的程序将可以通过变量libHttp访问ht