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的更多相关文章

  1. centos 7下安装配置Supervisor

    1.安装Supervisor centos下安装yum install supervisor 2. systemctl enable supervisord 开机自启 systemctl start ...

  2. CentOS系统下安装配置ftp服务

    安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/  --查看vsftpd的配置 ...

  3. CentOS 7下安装配置proftpd搭建ftp服务器

    proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone.xinetd模式运 ...

  4. 阿里云服务器下安装配置 vsftpd —— 基于CentOS 6.3 【简洁版】

    原文链接:http://www.tuicool.com/articles/nuiQBja 1.更新yum源 我是直接 yum update 更新的 2.安装vsftp 使用yum命令安装vsftpd ...

  5. 阿里云CentOS服务器下安装Golang1.13并配置代理

    注:root账户或添加sudo命令运行. 下载到/usr/local位置并解压 cd /usr/local wget https://studygolang.com/dl/golang/go1.13. ...

  6. CentOS.7下安装配置FTP和SFTP服务

    一: FTP Centos7中默认已经安装了sshd服务(sftp), vsftpd需要手动安装 1.安装并启动FTP服务 1.1 安装vsftpd 使用 yum 安装 vsftpd yum inst ...

  7. CentOS 7下安装配置搭建jdk+tomcat+MariaDB环境

    1.JDK安装 注意:rpm与软件相关命令 相当于window下的软件助手 管理软件 步骤: 1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个 ...

  8. CentOS 7下安装配置FTP

    安装vsftpd yum install -y vsftpd 编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO #anonymous_e ...

  9. 阿里云服务器下安装配置phpMyAdmin

    1.下载phpMyAdmin wget http://www.phpmyadmin.net/home_page/downloads.php 2.解压下载的文件 tar -zvxf phpMyAdmin ...

随机推荐

  1. scrollTo(String text) and scrollToExact(String text) method of Android Driver not working

    Using the scrollTo(String text) and scrollToExact(String text) method of Android Driver. However the ...

  2. (转载)解决MySql 数据库 提示:1045 access denied for user 'root'@'localhost' using password yes

    今天想用用MySQL 数据库  谁知道老提示 1045 access denied for user 'root'@'localhost' using password yes 最后在csdn 上找到 ...

  3. Andriod Atom x86模拟器启动报错。

    用Inter Atom模式的Android模拟器启动报一下错误: Starting emulator for AVD 'new' emulator: ERROR: x86 emulation curr ...

  4. Eclipse中设置编码的方法

    Eclipse中设置编码的方式如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码.然而,Eclipse工作空间(workspace)的缺省字 ...

  5. A nonrecursive list compacting algorithm

    A nonrecursive list compacting algorithm Each Erlang process has its own stack and heap which are al ...

  6. Windows ping源码

    需要测试外网的联通性,想到了用ping.网上下载了ping的源代码,调试下整理如下: /******************************************************** ...

  7. IOS中UIActionSheet使用方法详解

    一.初始化方法 - (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)de ...

  8. Android驱动开发之earlysuspend睡眠模式--实现代码【转】

    本文转载自:http://blog.csdn.net/MyArrow/article/details/8136018 (1)添加头文件: #include <linux/earlysuspend ...

  9. sed替换变量

    今天在写脚本时用到了sed,我用sed替换xml文件中的变量.一般在sed 中替换都用单引号,如下边 sed -i ‘s/10/1000/g’ test.xml但是如果需要把1000改成变量,如sed ...

  10. SKU多维属性状态判断算法

    作者:周琪力,前端工程师,网络常用昵称「keelii」.在过去的4年里主要负责京东网站商品详情页的前端系统架构和开发,平时主要写 JavaScript 偶尔写点NodeJS,Python.琪力博客:  ...