Linux(centos)上配置https
来源:互联网 发布:数据统计的方法有哪些 编辑:程序博客网 时间:2024/05/21 00:52
Linux(centos)上配置https
现在,应该很容易发现很多网站,不是以前的http开头,而是https开头,经常使用最明显的就是“测试是否有网”的百度网址https://www.baidu.com/,为什么换协议?安全性。
不过,现在真正需要做https的网站,个人觉得,电商网站、邮件网站、还有各种登录等等,不过像是个人主页,或者本身就是静态页面的网站,是没有太大必要的。当然稍微弄一下,也没什么,能让懂的人觉得安全感多那么一点,不是很懂技术的,其实没差。我自己做的网站也弄了https,地址是https://www.shaoxi93.com,现在上面还没什么东西,今后会慢慢充实它的。不过我配https并不是为了装13,是因为下图…
没错,微信小程序…必须要https。这里说下,微信小程序今年3月底开始可以个人申请开发,不需要企业,这点还是比较好的,除了没有支付功能,其他和企业注册的差别不是很多。我的个人小程序勺夕
目前还在开发中,等开发差不多了,也可以写点小程序方向的总结出来分享交流下。
https介绍
https简单来说就是http+ssl,基于安全套接字层的超文本传输协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。这些概念性的东西网上介绍的很多。
https与http区别
区别就是在于https这个多出来的 s
。SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
其他要说很明显能感觉到的,就是:
- http默认端口是80,https是443
- http不会对传输的数据进行加密,https会。
centos上配置https
申请ssl证书
这个购买域名后,一般在购买域名的网站都会有申请ssl的地方,例如我买过域名的腾讯云,阿里云上都有,真的没有的话,度娘一下吧。如下图:
有免费的,还有收费的,区别参考网络1:
1. 英文证书链:免费SSL证书由Free SSL的英文证书链签发用户证书;收费SSL证书由DV SSL的英文证书链签发用户证书。
2. 中文证书链:免费SSL证书由免费SSL的中文证书链签发用户证书;收费SSL证书由DV SSL的中文证书链签发用户证书。
3. 支持域名数量:免费SSL证书最多支持5个多域名;收费SSL证书最多支持100个多域名。
4. 安全保险:免费SSL证书无安全保险;收费SSL证书享受1万元安全保险。
5. 设备兼容性:免费SSL证书的设备兼容性一般;收费SSL证书的设备兼容性较好。
最明显的应该是区别345吧。
如何在服务器上配置
首先说明下,我在自己的云服务器上配置了两次https,一次apache,后来一次改用nginx,所以下面会有两块。但是其实原理都差不多,即:
1. 修改ssl.conf文件配置,目的就是配置证书和key文件的位置
2. 修改httpd.conf文件配置,目的是为了开启https
Apache
首先介绍下这俩个配置文件在哪里能找到:
1. 云服务器自带,或者yum装的apache,需要配置ssl.conf和httpd.conf /etc/httpd/conf.d/ssl.conf;/etc/httpd/conf/httpd.conf
2. xampp 安装的集成环境需要配置httpd-ssl.conf和httpd.conf /opt/lampp/etc/extra/httpd-ssl.conf;/opt/lampp/etc/httpd.conf
如果以上都没有,建议用find命令去找。
配置步骤:
- ssl.conf文件配置
<VirtualHost _default_:443> ---------------->找到此位置DocumentRoot "/usr/www" -------------->配置服务器网站目录ServerName www.example.com:443 -------------->配置域名SSLEngine On SSLCertificateFile ../bin/server.crt ------>配置数字证书目录 SSLCertificateKeyFile ../bin/server.key ------>配置key目录SSLCertificateChainFile ../bin/ca.crt ------>配置中继证书
.key文件好分辨,但是两个证书文件如何分辨呢?如果你和我差不多方式申请下载下来的证书,.crt文件名中有bundle
的就是中继证书。
【重要】更改完成后,注意将配置文件往下翻,将原有的配置,如发现上面的在文件后面有出现,则前面在加一个#,注释掉。(很多人配置完保存好,还是不行很可能是这些配置没注释)
- httpd.conf文件配置
httpd.conf中打开ssl模块,然后引入ssl.conf文件。- 搜索ssl关键字,如果有类似以下代码,则修改地址,或将#删除,如果没有…那得先检查是否有ssl模块了2
LoadModule ssl_module modules/mod_ssl.so
- 查找是否有引入http-ssl.conf配置,如果有,请无视,一般会有判断加载的
Include "/opt/lampp/etc/extra/httpd-ssl.conf"
如下是有判断的情况:
- 搜索ssl关键字,如果有类似以下代码,则修改地址,或将#删除,如果没有…那得先检查是否有ssl模块了2
<IfDefine SSL>Include etc/extra/httpd-ssl.conf</IfDefine>
Nginx
如果你也是yum自动安装的Nginx,配置文件位置应该在:/etc/nginx/conf.d/,如果不是在此目录,同样建议使用find命令来找。
Nginx的ssl配置中只有证书和key文件,其余保持一致。
这里说下我遇到的开启异常:
Starting nginx: nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
解决方案:
将/etc/nginx/conf.d/default.conf文件中
listen 80 default_server;listen [::]:80 default_server;
改为
listen 80;#listen [::]:80 default_server;
后重启Nginx。
- 内容摘自网络:http://www.wosign.com/faq/free_dv_ssl.htm ↩
- 1、 确认是否安装ssl模块
是否有mod_ssl.so文件
2、 生成证书和密钥
linux下
步骤1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件
步骤2: 生成证书请求文件
命令:openssl req -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入
步骤3: 生成证书
命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天 ↩
- Linux(centos)上配置https
- 在Linux上配置Apache HTTPS服务
- linux上nginx配置https服务
- CentOS 配置https
- centos 7 配置https
- 在linux(centos)使用openssl生成https证书并配置到nginx的实现过程
- linux centos 下 配置https服务器的方法
- Win7下虚拟机上Linux(CentOS 64)网络配置
- Win7下虚拟机上Linux(CentOS 64)网络配置 .
- Win7下虚拟机上Linux(CentOS 64)网络配置
- VMware上CentOS Linux网络配置
- Linux CentOS上安装配置java
- Centos下apache配置https
- centos的nginx+https配置
- centos apache 最新版HTTPS配置
- centos配置https(nginx,apache)
- Centos 6.5 Nginx 配置 https
- centos nginx配置https访问
- 操作系统的内存管理(概念知识)
- Linux进程线程实验
- VS2008--无法找到“XXX.exe”的调试信息,或者调试信息不匹配
- Eclispe 生成JAVADOC 报java.lang.IllegalArgumentException解决方案
- locate
- Linux(centos)上配置https
- 关于“交互式-非交互式”与“登录-非登陆”shell的总结
- [kuangbin带你飞]专题七 线段树 【A、B、C、E、G、H】
- 关于vs2008修改执行程序文件名
- 关于积性函数的学习小记
- Android 4.0 Launcher2源码分析——启动过程分析
- Laravel中用户认证功能的实现
- Centos7.3+Influxdb1.2+Grafana4.2
- 关于vs2008修改执行程序文件名