https://startssl.com这个网站可以给我们免费提供可信任的https证书,这里简单介绍一下配置的过程。

首先服务器需要安装openssl和apache的mod_ssl.so模块,并且需要在httpd.conf中开启这个模块。

完成上述操作之后就可以使用openssl生成你自己的证书了。

这里有些知识你需要了解一下。

https的整个服务中,你需要了解这些文件的作用:

    server.key 服务器的私钥
server.crt 服务器的证书文件
server.csr 服务器证书请求文件
root.crt 根证书

这些文件是这样生成的

首先运行

    openssl req -new -nodes -keyout chorder.net.key -out chorder.net.csr

生成服务器证书和服务器证书请求文件,过程中会要求输入很多有关证书的信息和密码。

这一步完成之后会生成两个文件,chorder.net.key和chorder.net.csr

这时候去startssl网站上注册帐号,然后提交自己生成的.csr文件,让startssl为你生成一个

服务器证书和根证书。

把两个.crt结尾的证书拷贝到服务器的/etc/pki/tls/certs/下,把.key和.csr文件拷贝到/etc/pki/tls/private/下。(只针对CentOS服务器,其他服务器请自行百度)。

另外还需要将/etc/pki/tls/下的cert.pem(如果没有则创建一个)链接指向到/etc/pki/tls/certs/root.crt

这样用火狐浏览器访问的时候才不会报 SEC_ERROR_UNKNOWN_ISSUER 这个错误。

这个cert.pem就是证书链,只有当你的服务器证书包含在startssl网站的证书链中,客户端才会认为你的证书是可信的。

最后,修改两个文件。

一是/etc/httpd/conf.d/ssl.conf,修改如下内容

指定服务器证书

    SSLCertificateFile /etc/pki/tls/certs/chorder.net.crt

指定服务器私钥

    SSLCertificateKeyFile /etc/pki/tls/private/chorder.net.key

指定服务器证书链(来自start com)

    SSLCertificateChainFile /etc/pki/tls/certs/root-bundle.crt

然后是修改/etc/httpd/conf/httpd.conf文件,为你的主机(我这里是虚拟主机)创建配置

我的配置如下

    NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/chorder.net.crt
SSLCertificateKeyFile /etc/pki/tls/private/chorder.net.key
SSLCertificateChainFile /etc/pki/tls/cert.pem
ServerName chorder.net
ServerAdmin ×××××
DocumentRoot ×××××
ErrorLog ×××××
CustomLog ×××××
</VirtualHost>

其实就是http配置文件下多加了几行。

配置好这些以后,重启服务,完成。

另外,如果你希望访问你的域名直接跳转到https端口,可以写一段js来跳转,如果觉得

写代码太麻烦,可以在根目录的.htaccess文件中加入这两行来帮你自动跳转:

    RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]

即,将默认端口指定为443,并且将所有http的请求重写为https.

Apache服务器配置https的更多相关文章

  1. OpenSSL证书生成及Mac上Apache服务器配置HTTPS(也适用centos)

    自签名证书 配置Apache服务器SSL 自己作为CA签发证书 这里是OpenSSL和HTTPS的介绍OpenSSLHTTPS 开启HTTPS配置前提是已在Mac上搭建Apache服务器→Mac上Ap ...

  2. Apache服务器配置https协议/SSL证书的方法

    转载于:http://www.server110.com/apache/201309/1542.html

  3. 服务器配置https

    服务器配置https 第一步.申请证书 这个网上有很多申请方法,不论你是阿里云还是腾讯云都有自带的申请途经,这里就不再赘述. 第二步.进行配置(linux) 1.在tomcat的conf目录下创建新的 ...

  4. 阿里云服务器配置https(总结)

    阿里云服务器配置https(总结) 一.总结 一句话总结: 1.下载https证书(可以在阿里云上) 2.在服务器上面开启443端口 3.配置apache服务器,443的加ssl,让80的重定向到44 ...

  5. 一个阿里云apache服务器配置两个或多个域名forLinux

    一个阿里云apache服务器配置两个或多个域名for Linux: 默认已经配置好了阿里云提供的一键web安装,可以参考:http://www.42iot.com/?id=8 修改/alidata/s ...

  6. Ubuntu下配置apache开启https

    一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...

  7. Apache配置HTTPS功能

    apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...

  8. Windows上为Apache配置HTTPS

    Windows上为Apache配置HTTPS   转 https://www.cnblogs.com/tianzijiaozi/p/7582671.html   1. 安装OpenSSL: Windo ...

  9. Linux下Apache配置HTTPS功能

    Apache配置HTTPS功能  转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...

随机推荐

  1. Java基础面试题集(二)

    Java程序员面试题集(1-50) 一.Java基础部分 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象 ...

  2. RTX和谐说明

    1.下载安装原版RTX20152.打开“服务”,停止RTX开头的服务.3.替换C:\Program Files\Tencent\RTXServer\License目录下的License.ini文件:替 ...

  3. Spring Boot 中使用 WebSocket 实现一对多聊天及一对一聊天

    为什么需要WebSocket? 我们已经有了http协议,为什么还需要另外一个协议?有什么好处? 比如我想得到价格变化,只能是客户端想服务端发起请求,服务器返回结果,HTTP协议做不到服务器主动向客户 ...

  4. NOIp D1T1 小凯的疑惑

    吐槽 果然让人很疑惑,这道题,对于我这种数学渣渣来说太不友好了,哪里想得到结论,猜也猜不到. 思路一 纯数学,见过的飞快切掉,没见过的就... 结论就是:已知$a,b$为大于$ 1 $的互质的正整数, ...

  5. Linux中安装配置KVM虚拟化

    KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...

  6. HDU 1114 Piggy-Bank(动态规划、完全背包)

    Piggy-Bank Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  7. REST风格,@PathVariable注解

    REST(Representational State Transfer,表述性状态转移)是一种软件风格.所谓的REST风格可以简单理解为:使用url表示资源时,每个资源都用一个独一无二的url来表示 ...

  8. SpringMVC-JSON数据交换

    在上Springmvc-JSON数据交换的时候,老师提出了两个问题: 1.JSON数据交互两个注解的作用? 2.静态资源访问的几种配置方式,并简述? 老师刚提出这两个问题的时候我一头雾水的.JSON数 ...

  9. 解决iframe缓存机制导致页面不清除缓存不刷新页面的bug

    在使用iframe时,已有页面嵌套了一个iframe页面,当这个页面提交后再次跳转到本页面时,原本iframe内的页面应该刷新数据的,结果未刷新,需要清除缓存后才刷新. 解决方案: var fresh ...

  10. 【原创】Themida 2260 虚拟机 FISH 初探(一)

    标 题: [原创]Themida 2260 虚拟机 FISH 初探(一)作 者: xiaohang时 间: 2016-03-03,00:39:37链 接: http://bbs.pediy.com/s ...