apache和nginx开启https
- 1.安装mod_ssl和openssl
- yum -y install mod_ssl openssl
- 2.建立服务器密钥
- mkdir /etc/httpd/conf.d/ssl.key/
- cd /etc/httpd/conf.d/ssl.key/
- openssl genrsa -out server.key 1024
- 3.建立服务器公钥
- openssl req -new -key server.key -out server.csr
- 4.建立服务器证书
- openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 5.最后对/etc/httpd/conf.d/ssl.conf 进行修改:将SSLCertificateFile和SSLCertificateKeyFile改成如下
- SSLCertificateFile /etc/httpd/conf.d/ssl.key/server.cert
- SSLCertificateKeyFile /etc/httpd/conf.d/ssl.key/server.key
- 6.重启apache
- 7.高级-》继续访问
上面是apache开启https但是没有认证,nginx开启免费认证按照下面流程
1.第一步
配置一个https站点需要有一个ssl的证书,我们可以到以下网址去申请一个免费的ssl证书:
- https://buy.wosign.com/Free/#ssl
2.第二步
有了ssl的证书后,我们可以将需要的服务器类型的压缩包解压后上传到服务器中。一共有两个文件,一个是.crt文件,还有一个是.key文件。
3.第三步
在原有的nginx的server配置中添加以下内容:
- listen 443 ssl;
- server_name xxx; #你的域名
- ssl on;
- ssl_certificate xxx; #crt文件位置
- ssl_certificate_key xxx;#key文件位置
- ssl_session_timeout 5m;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
- ssl_prefer_server_ciphers on;
然后重启nginx,关闭浏览器并且清空缓存,就能够用https访问网站啦!
4.第四步
你可能会发现现在用http进不去网站了!怎么办呢?很简单,只要添加以下配置即可!
- server {
- listen 80;
- listen [::]:80 ssl ipv6only=on;
- server_name xxx;#域名
- return 301 https://xxx$request_uri; #xxx为你的域名
- }
这样,用户即使不输入https,输入http也能访问了,所有连接都会被重定向到https页面!
apache和nginx开启https的更多相关文章
- Nginx/Apache + acme.sh 实现https访问
1 概述 acme.sh实现了acme协议,可以从Let's Encrypt生成免费的ssl证书用于实现https,本文介绍了常见的两种服务器Apache与Nginx上利用acme.sh配置https ...
- Ubuntu下配置apache开启https
一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...
- Django开启https(不用nginx)
首先安装需要用到的包 pip install django-extensions pip install django-werkzeug-debugger-runserver pip install ...
- Apache和Nginx配置支持苹果ATS方法
什么是ATS功能? ATS是iOS9和OS X El Capitan的一个新特性.开启该功能后,ATS对使用NSURLConnection, CFURL或NSURLSession 等APIs 进行的网 ...
- 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客
这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...
- 基于 Nginx 的 HTTPS 性能优化
前言 分享一个卓见云的较多客户遇到HTTPS优化案例. 随着相关浏览器对HTTP协议的“不安全”.红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信.支付宝小程序强制 HTTPS ...
- 基于 Nginx 的 HTTPS 性能优化实践
前言 分享一个卓见云的较多客户遇到HTTPS优化案例. 随着相关浏览器对HTTP协议的“不安全”.红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信.支付宝小程序强制 HTTPS ...
- Nginx+Tomcat+Https 服务器负载均衡配置
这篇过气了! 重新补一个:http://www.cnblogs.com/hackyo/p/6809773.html 由于需要,得搭建个nginx+tomcat+https的服务器,搜了搜网上的发现总是 ...
- apache、nginx的虚拟域名配置和rewrite配置,以及web缓存的几种方式
web缓存一般用来缓解数据库压力. 通常有几种方法,文件静态化,缓存服务memcached.redis等. 伪静态,一般指在url上貌似访问静态html页的形式,这样有利于搜索引擎访问到网站页面,实际 ...
随机推荐
- SQL select 语法(转)
SQL 里面最常用的命令是 SELECT 语句,用于检索数据.语法是: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expr ...
- CGRectGet *** 获取控件坐标的方法
CGRectGetHeight返回label本身的高度 CGRectGetMinY返回label顶部的坐标 CGRectGetMaxY 返回label底部的坐标 CGRectGetMinX 返回lab ...
- $(document).ready()方法的使用
之前看了,锋利的jquery这本书.开始了对jquery的学习.很多东西还是不能应用自如,并没有把jquery变成自己的东西.某日程序突然失效,是单击行的时候取属性,但是不知道为什么,取不到值.$(t ...
- Git版本控制与工作流
基本概念 Git是什么? Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更 ...
- 分支合并git checkout adview git merge adview3
分支合并 git checkout adview git merge adview3
- JSON文本转换为JSONArray 转换为 List<Object>
package com.beijxing.TestMain; import java.io.File; import java.io.IOException; import java.util.Arr ...
- Spring+springmvc+Mybatis整合案例 xml配置版(myeclipse)详细版
Spring+springmvc+Mybatis整合案例 Version:xml版(myeclipse) 文档结构图: 从底层开始做起: 01.配置web.xml文件 <?xml version ...
- 修改Shp文件名称
IWorkspaceFactory factory = new ShapefileWorkspaceFactoryClass(); IWorkspace pworkspace = factory.Op ...
- 四、解决MyEclipse控制台输出中文乱码的问题
问题描述: 在Java程序中,在MyEclipse开发环境下,通过标准输入输入中文,并把输入的中文信息从标准输出显示出来,这时中文出现乱码情况.解决方法:解决方法需要两个步骤(本文测试环境 ...
- openstack快速封装镜像
本来是该写对接ceph的,但是临时有事了,必须先弄镜像,因此提前写这个了,我个人不是按官网来封装镜像的,是按自己的习惯,所以觉得信不过的可以用官网的方式,有兴趣的可以看看都知道,openstack创建 ...