Linux apache自建证书搭建https
前言
1、安装mod_ssl
yum -y install mod_ssl
2、HTTP 服务器上配置mod_ssl
2.1、进入http服务器配置文件所在目录
cd /etc/pki/tls/certs/
2.2、建立服务器密钥

[root@fee6202a726e certs]# make server.key #建立服务器密钥
umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
...............................+++
........+++
e is 65537 (0x10001)
Enter pass phrase: #设置一个口令
Verifying - Enter pass phrase: #确定口令
[root@fee6202a726e certs]#
[root@fee6202a726e certs]# openssl rsa -in server.key -out server.key #从密钥中删除密码(以避免系统启动后被询问口令)

2.3、建立服务器公钥

[root@fee6202a726e certs]# make server.csr #生成服务器公钥
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN #填入国家代码 例如CN
State or Province Name (full name) []:Shanghai #省 例如 Shanghai
Locality Name (eg, city) [Default City]:Shanghai #市 例如 Shanghai
Organization Name (eg, company) [Default Company Ltd]:NOC #组织名 例如NO (任意)
Organizational Unit Name (eg, section) []:Newegg #组织单位名 例如 New (任意)
Common Name (eg, your name or your server's hostname) []:NOC #通用名 例如 NO (任意)
Email Address []:noc@newegg.com # 电子邮箱 Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: # 不填,直接回车
An optional company name []: # 不填,直接回车
[root@fee6202a726e certs]#

2.3、建立服务器证书

openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365 Signature ok
subject=/C=CN/ST=Shanghai/L=Shanghai/O=NOC/OU=Newegg/CN=NOC/emailAddress=noc@newegg.com
Getting Private key chmod 400 server.* # 修改权限为400

2.4、设置SSL
vim /etc/httpd/conf.d/ssl.conf
# General setup for the virtual host, inherited from global configuration
DocumentRoot "/var/www/html" # 去掉此参数的注释‘#’ systemctl restart httpd # 重启httpd 服务,
验证: 通过https 打开网页查看是否成功
代理(强制http请求跳转到https)

<Directory "/var/www/html"> # 此类容最后增加下面三行
RewriteEngine on # 开启重定向擎设置为on,就是让url重写生效
RewriteCond %{SERVER_PORT} !^443$ # 设置规则,端口重定向成 443 端口
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R] # ^(.*)?$是一个正则表达式,意思是对所有请求都重定向到https://.... 其它代码解释
RewriteCond %{REQUEST_FILENAME} !-f #如果文件存在,就直接访问文件,不进行下面的RewriteRule.
RewriteCond %{REQUEST_FILENAME} !-d # 如果目录存在就直接访问目录不进行RewriteRule
RewriteCond $1 !^(index\.php|images|robots\.txt) #配置url重写规则,!^(index\.php|images|robots\.txt) 这个正则表达式指明了哪些文件不需要重 写,而是直接访问;

zabbix 修改https 并实现http跳转到https

vim /etc/httpd/conf/httpd.conf # 添加如下内容 <Directory "/usr/share/"> # 这里的路径是 zabbix 的路径 /usr/share/zabbix Options Indexes FollowSymLinks
Require all granted
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R] </Directory>

Linux apache自建证书搭建https的更多相关文章
- Lamp(linux+apache+mysql+php)环境搭建
Lamp(linux+apache+mysql+php)环境搭建 .安装apache2:sudo apt-get installapache2 安装完毕后.执行例如以下命令重新启动apache:sud ...
- 信安实践——自建CA证书搭建https服务器
1.理论知识 https简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HT ...
- 自建CA证书搭建https服务器
由于CA收费,所以可以自建CA,通过将CA导入浏览器实现https的效果,曾经12306购票就需要自行导入网站证书. 关于https 2015年阿里巴巴将旗下淘宝.天猫(包括移动客户端)全站启用HTT ...
- 自建证书配置HTTPS服务器
1.写这篇博客的初衷是因为最近iOS9出来了,苹果官方默认要求使用HTTPS,所以自己想整一个HTTPS服务器,也想好好了解一下HTTPS通信,也知道了HTTPS其实就是在HTTP的基础上加上了SSL ...
- apache配置CA证书通过https通信
Apache Httpd 2.2 实现https加密通讯 实际生产中CA证书一般是向一些专业认证的国际机构来进行申请的.我们会模拟使用OpenSSL生成的证书,来实现Apache的安全加密通讯,这与实 ...
- 阿里云服务器Centos上Apache安装SSL证书配置Https
首先我们先去阿里云申请一个免费的SSL证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232BzMSp5&co ...
- iOS 的三种自建证书方法https请求相关配置
如果你的app服务端安装的是SLL颁发的CA,可以使用系统方法直接实现信任SSL证书,关于Apple对SSL证书的要求请参考:苹果官方文档CertKeyTrustProgGuide 这种方式不需要在B ...
- [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...
- Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
一.HTTPS 是什么? 根据维基百科的解释: 超文本传输安全协议(缩写:HTTPS,英语:Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合 ...
随机推荐
- 门控循环单元(GRU)与 LSTM 的区别
29 November 2019 14:48 GRU is a popular variant of LSTM which replaces the forget gate and the input ...
- C# 查看系统进程
//使用前需要引用 using System.Diagnostics; var processList = Process.GetProcesses().ToList();
- 在ZYNQ上裸机跑ARM程序的演示
今天给大家演示如何在ZYNQ上,裸机跑ARM程序,本测试用的是米尔Z-turn Board单板,测试代码用的XILINX官方的C语言测试程序,用于测试挂接在ARM总线上的设备是否正常,并在串口终端打印 ...
- SqlServer共用表达式(CTE)With As 处理递归查询
共用表表达式(CTE)可以看成是一个临时的结果集,可以再SELECT,INSERT,UPDATE,DELETE,MARGE语句中多次引用. 一好处:使用共用表表达式可以让语句更加清晰简练. 1.可以定 ...
- XML简述
XML简述 本文主要内容都是在中国大学MOOC上学习的,这里做个记录. 课程:Java核心技术(进阶),华东师范大学 陈良育老师 感谢陈良育老师,在他的慕课上受益匪浅. XML基本概念 XML(eXt ...
- Python之路(第四十三篇)线程的生命周期、全局解释器锁
一.线程的生命周期(新建.就绪.运行.阻塞和死亡) 当线程被创建并启动以后,它既不是一启动就进入执行状态的,也不是一直处于执行状态的,在线程的生命周期中,它要经过新建(new).就绪(Ready).运 ...
- k8s几种pod的控制器
replicationcontroller 选择器 模版 副本数 如果更改选择器,则会创建新的pod 如果更改pod的标签,那么也会创建新的pod进行替换,但是老的pod不会被删除 如果更改模版, ...
- 离线环境下自动化部署python环境(含openssl)
遇到有项目要在内网环境下安装python项目,所以空余时写了自动化部署python环境和python项目的脚本,由于项目涉密,这里仅提供自动化部署python环境的shell脚本,包括openssl的 ...
- php的选择排序
往前. <?php /** * 选择排序 * 工作原理是每次从待排序的元素中的第一个元素设置为最小值, * 遍历每一个没有排序过的元素,如果元素小于现在的最小值, * 就将这个元素设置成为最小值 ...
- Elasticsearch 日期类型的自动监测,官方文档
资料 网址 Elasticsearch Reference [7.3] » Mapping » Field datatypes » Date datatype https://www.elastic. ...