CentOS服务器下安装配置SSL
https是一个安全的访问方式,数据在传输过程中是加密的,https基于SSL。
一、安装apache和ssl模块
1、安装apache
#yum install httpd
2、安装ssl模块
#yum install mod_ssl
重启apache:
#service httpd restart
安装完mod_ssl会创建一个默认的SSL证书,路径位于/etc/pki/tls,此时可以立即通过https访问服务器了:
https://X.X.X.X/
如果不使用默认的证书,也可以使用openssl手动创建证书。
二、使用openssl手动创建证书
1、安装openssl
#yum install openssl
2、生成服务器私钥
#cd /etc/pki/tls
#openssl genrsa -out server.key 1024
注意:server.key是私钥。
3、用私钥server.key文件生成证书请求文件csr
#openssl req -new -key server.key -out server.csr
注:server.csr是证书请求文件。
此步骤需要输入一些证书信息:
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:shanghai
Locality Name (eg, city) [Default City]:shanghai
Organization Name (eg, company) [Default Company Ltd]:ccc
Organizational Unit Name (eg, section) []:bbb
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:a@a.com
输入国家、省份、城市、公司、部门、姓名或服务器名、电子邮箱,随后会要求输入一个challengepassword(密码),无需输入,后面一律直接回车即可。
4、生成数字签名crt文件(证书文件)
#openssl x509 -days 365 -req -in server.csr -signkey server.key -outserver.crt
用私钥签名证书请求文件,证书的申请机构和颁发机构都是自己。
5、编辑apache的ssl配置文件
vim/etc/httpd/conf.d/ssl.conf
/etc/httpd/conf.d/ssl.conf文件配置具体如下:
<VirtualHost _default_:443>
DocumentRoot "/var/www/https" //设置网页存放目录
ServerName *:443 //服务器的端口
DirectoryIndex index.html index.html.var //首页名称
SSLEngine on
SSLCertificateFile /etc/pki/tls/server.crt //证书
SSLCertificateKeyFile /etc/pki/tls/server.key //私钥
</VirtualHost>
6、重启apache
#servicehttpd restart
访问https://ip/,就能看到证书信息了。
由于不是第三方根证书颁发机构颁发的证书,而是自己颁发的证书,所以浏览器会提示安全证书不受信任。
!!!注意:首页index.html 的文件权限为755,否则将会出现如上提示:
Forbidden
Youdon't have permission to access /main.html on this server.
解决方法:修改首页index.html读写权限。
#Chmod755 index.html
关于openssl指令的补充说明:
#openssl [操作] -out filename [bits]
参数说明:
[操作] 主要的操作有如下两个:
genrsa,建立RSA加密的Public key
req,建立凭证要求文件或者是凭证文件
-out ,后面加上输出的文件名,就是那把key name
bits,用在genrsa加密的公钥的长度
-x509,X.509,CertificateData Management. 一种验证的管理方式
例:建立一支长度为1024bits的Public Key,注意文件名。
#openssl genrsa -out Server.key 1024
生成证书请求命令:
#Openssl req -new -key file.key -out file.csr -config /path/to/openssl.cnf
-config:指定openssl的配置文件路径,不指定时,默认会访问Unix格式的默认路径:/usr/local/ssl/openssl.cnf。
例:#openssl req -new -key server.key -outserver.csr
CentOS服务器下安装配置SSL的更多相关文章
- centos 7下安装配置Supervisor
1.安装Supervisor centos下安装yum install supervisor 2. systemctl enable supervisord 开机自启 systemctl start ...
- CentOS系统下安装配置ftp服务
安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/ --查看vsftpd的配置 ...
- CentOS 7下安装配置proftpd搭建ftp服务器
proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone.xinetd模式运 ...
- 阿里云服务器下安装配置 vsftpd —— 基于CentOS 6.3 【简洁版】
原文链接:http://www.tuicool.com/articles/nuiQBja 1.更新yum源 我是直接 yum update 更新的 2.安装vsftp 使用yum命令安装vsftpd ...
- 阿里云CentOS服务器下安装Golang1.13并配置代理
注:root账户或添加sudo命令运行. 下载到/usr/local位置并解压 cd /usr/local wget https://studygolang.com/dl/golang/go1.13. ...
- CentOS.7下安装配置FTP和SFTP服务
一: FTP Centos7中默认已经安装了sshd服务(sftp), vsftpd需要手动安装 1.安装并启动FTP服务 1.1 安装vsftpd 使用 yum 安装 vsftpd yum inst ...
- CentOS 7下安装配置搭建jdk+tomcat+MariaDB环境
1.JDK安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个 ...
- CentOS 7下安装配置FTP
安装vsftpd yum install -y vsftpd 编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO #anonymous_e ...
- 阿里云服务器下安装配置phpMyAdmin
1.下载phpMyAdmin wget http://www.phpmyadmin.net/home_page/downloads.php 2.解压下载的文件 tar -zvxf phpMyAdmin ...
随机推荐
- SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)
--====================================================== --SQL基础-->层次化查询(START BY ... CONNECT BY ...
- 【翻译自mos文章】怎么找到OGG Director Server使用的数据库和username?
APPLIES TO: Management Pack for Oracle GoldenGate - Version: 1.0.0.0 - Release: 1.0 Information in t ...
- WPF MVVM UI分离之《交互与数据分离》 基础才是重中之重~delegate里的Invoke和BeginInvoke 将不确定变为确定系列~目录(“机器最能证明一切”) 爱上MVC3系列~全局异常处理与异常日志 基础才是重中之重~lock和monitor的区别 将不确定变成确定~我想监视我的对象,如果是某个值,就叫另一些方法自动运行 将不确定变成确定~LINQ DBML模型可以对
WPF MVVM UI分离之<交互与数据分离> 在我们使用WPF过程中,不可避免并且超级喜欢使用MVVM框架. 那么,使用MVVM的出发点是视觉与业务逻辑分离,即UI与数据分离 诸如下 ...
- 解决移动端页面滚动后不触发touchend事件
解决移动端页面滚动后不触发touchend事件 问题 在移动端页面进行优化时,一般使用touch事件替代鼠标相关事件.用的较多的是使用touchend事件替代PC端的click和mouseup事件. ...
- String池与iterator对集合的迭代
一.静态导入 1. 导入类的静态属性 import static java.lang.System.out; out.println("haha"); 2. ...
- CH 5402 选课(分组背包+树形DP)
CH 5402 选课 \(solution:\) 很有讨论套路的一道题,利用树的结构来表示出不同课程之间的包含关系(这里还要建一个虚点将森林变成一颗打大树).然后用子树这个概念巧妙的消除了因为这些包含 ...
- linux 一个超简单的makefile
makefile 自动化变量: $@ : 规则的目标文件名 例如:main:main.o test.o g++ -Wall -g main.o test. ...
- ES6 中的let 声明变量
1.let是声明的是块级变量,不会污染全局,一般条件与循环中会用到: 2.let 不可以变量提升: 3.let不遵循作用域,一个作用域内如果有该变量,就不会到全局去找,也不可以在一个作用域重复声明一 ...
- AjaxControlToolkit没有通过WebResource.axd加载css导致ajaxToolkit:TabPanel无法显示正确的样式
https://stackoverflow.com/questions/3318092/what-is-webresource-axd WebResource.axd provides access ...
- MYSQL进阶学习笔记六:MySQL视图的创建,理解及管理!(视频序号:进阶_14,15)
知识点七:MySQL视图的创建(14) 视图的定义: 什么是视图: 视图数由查询结果形成的一张虚拟的表. 什么时候要用到视图? 如果某个查询结果出现的非常频繁,也就是,要经常拿这个查询结果来做子查询. ...