1. 1.安装mod_ssl和openssl
  2. yum -y install mod_ssl openssl
  3. 2.建立服务器密钥
  4. mkdir /etc/httpd/conf.d/ssl.key/
  5. cd /etc/httpd/conf.d/ssl.key/
  6. openssl genrsa -out server.key 1024
  7. 3.建立服务器公钥
  8. openssl req -new -key server.key -out server.csr
  9. 4.建立服务器证书
  10. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  11. 5.最后对/etc/httpd/conf.d/ssl.conf 进行修改:将SSLCertificateFile和SSLCertificateKeyFile改成如下
  12. SSLCertificateFile /etc/httpd/conf.d/ssl.key/server.cert
  13. SSLCertificateKeyFile /etc/httpd/conf.d/ssl.key/server.key
  14. 6.重启apache
  15. 7.高级-》继续访问

上面是apache开启https但是没有认证,nginx开启免费认证按照下面流程

1.第一步

配置一个https站点需要有一个ssl的证书,我们可以到以下网址去申请一个免费的ssl证书:

  1. https://buy.wosign.com/Free/#ssl

2.第二步

有了ssl的证书后,我们可以将需要的服务器类型的压缩包解压后上传到服务器中。一共有两个文件,一个是.crt文件,还有一个是.key文件。

3.第三步

在原有的nginx的server配置中添加以下内容:

  1. listen       443 ssl;
  2. server_name  xxx; #你的域名
  3. ssl                  on;
  4. ssl_certificate      xxx; #crt文件位置
  5. ssl_certificate_key     xxx;#key文件位置
  6. ssl_session_timeout  5m;
  7. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  8. ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
  9. ssl_prefer_server_ciphers   on;

然后重启nginx,关闭浏览器并且清空缓存,就能够用https访问网站啦!

4.第四步

你可能会发现现在用http进不去网站了!怎么办呢?很简单,只要添加以下配置即可!

  1. server {
  2. listen 80;
  3. listen [::]:80 ssl ipv6only=on;
  4. server_name   xxx;#域名
  5. return 301 https://xxx$request_uri; #xxx为你的域名
  6. }

这样,用户即使不输入https,输入http也能访问了,所有连接都会被重定向到https页面!

apache和nginx开启https的更多相关文章

  1. Nginx/Apache + acme.sh 实现https访问

    1 概述 acme.sh实现了acme协议,可以从Let's Encrypt生成免费的ssl证书用于实现https,本文介绍了常见的两种服务器Apache与Nginx上利用acme.sh配置https ...

  2. Ubuntu下配置apache开启https

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

  3. Django开启https(不用nginx)

    首先安装需要用到的包 pip install django-extensions pip install django-werkzeug-debugger-runserver pip install ...

  4. Apache和Nginx配置支持苹果ATS方法

    什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...

  5. 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客

    这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...

  6. 基于 Nginx 的 HTTPS 性能优化

    前言 分享一个卓见云的较多客户遇到HTTPS优化案例. 随着相关浏览器对HTTP协议的“不安全”.红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信.支付宝小程序强制 HTTPS ...

  7. 基于 Nginx 的 HTTPS 性能优化实践

    前言 分享一个卓见云的较多客户遇到HTTPS优化案例. 随着相关浏览器对HTTP协议的“不安全”.红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信.支付宝小程序强制 HTTPS ...

  8. Nginx+Tomcat+Https 服务器负载均衡配置

    这篇过气了! 重新补一个:http://www.cnblogs.com/hackyo/p/6809773.html 由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是 ...

  9. apache、nginx的虚拟域名配置和rewrite配置,以及web缓存的几种方式

    web缓存一般用来缓解数据库压力. 通常有几种方法,文件静态化,缓存服务memcached.redis等. 伪静态,一般指在url上貌似访问静态html页的形式,这样有利于搜索引擎访问到网站页面,实际 ...

随机推荐

  1. sql join用法学习

    为了在两个或更多的表中获取结果,我们常常会用到join inner join(又叫join) out join包括left join,right join和full join(也就是left+righ ...

  2. truncate table和delete table 的区别

    truncate table和不带 where 的 detele 功能一样,都是删除表中的所有数据. 但TRUNCATE TABLE 速度更快,占用的日志更少,这是因为 TRUNCATE TABLE ...

  3. 如何在属性面板中增加一个属性-UI界面编辑器(XproerUI)教程

    版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 开发文档(SkinStudio): ...

  4. HTML DOM Element

    HTML DOM Element(元素) 文档本身是文档节点 . 所有 HTML 元素是元素节点 . 所有 HTML 属性是属性节点 HTML 元素内的文本是文本节点 . 注释是注释节点 . NODE ...

  5. table 细边框

    table { border-collapse: collapse; border: none; width: 200px; } td { border: solid #000 1px; }

  6. CloudStack系统部署系列教程-KVM

    之前培训时获得的资料,以防丢失,故发布此以做备份.

  7. sql server之数据库语句优化

    三.只返回需要的数据 返回数据到客户端至少需要数据库提取数据.网络传输数据.客户端接收数据以及客户端处理数据等环节,如果返回不需要的数据,就会增加服务器.网络和客户端的无效劳动,其害处是显而易见的,避 ...

  8. jquery radio

    取radio的值: JS代码 $("input[name='radioName'][checked]").val(); 给radio 赋值, 选中值为2的radio: JS代码 $ ...

  9. NetBios 的结构体详解

    [NetBios 的结构体详解] NetBIOS是早期的局域网传输协议. 1.结构体. 2.命令 NetBIOS命令的使用方式有两种,即等待和非等待(或称为同步与异步)方式. 如果命令码的高阶位是0时 ...

  10. ORACLE 生成一个随机数

    ORACLE 如何产生一个随机数:DBMS_RANDOM--1.小数( 0 ~ 1) select dbms_random.value from dual ; --2.指定范围内的小数 ( 0 ~ 1 ...