CentOS 7 配置HTTPS加密访问SVN
上一篇文章已经介绍了如何在CentOS7环境下安装SVN并整合HTTP访问
http://www.cnblogs.com/fjping0606/p/7581093.html
那么本文则介绍如何添加HTTPS证书加密访问SVN(apache环境)
打开/opt/apache/conf/httpd.conf
将
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
去掉注释:
loadModule socache_shmcb_module modules/mod_socache_shmcb.so
将
#LoadModule ssl_module modules/mod_ssl.so
去掉注释:
LoadModule ssl_module modules/mod_ssl.so
将
#Include conf/extra/httpd-ssl.conf
去掉注释:
Include conf/extra/httpd-ssl.conf
保存并退出httpd.conf
打开/opt/apache/conf/extra/httpd-vhosts.conf
添加以下内容
<VirtualHost _default_:443>
DocumentRoot "/data/subversion" ##svn仓库目录
ServerName svn.test.com:443 ##上一篇文件配置的访问svn的域名
ServerAlias svn.test.com
ServerAdmin webmaster@example.com
DirectoryIndex index.html index.htm index.php default.php app.php u.php
ErrorLog logs/example_error.log
CustomLog logs/example_access.log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
SSLEngine on
SSLCertificateFile "/opt/apache/ssl/2_svn.test.com.crt" ##在腾讯云申请的https证书
SSLCertificateKeyFile "/opt/apache/ssl/3_svn.test.com.key"
SSLCertificateChainFile "/opt/apache/ssl/1_root_bundle.crt"
<Directory "svn.test.com">
SSLOptions +StdEnvVars
AllowOverride All
Require all granted
</Directory>
<FilesMatch "\.(shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</VirtualHost>
保存并退出httpd-vhost.conf
如果此时尝试重启http,会报错,因为还缺少两个文件(/opt/apache/conf/extra/httpd-ssl.conf):
/opt/apache/conf/server.crt
/opt/apache/conf/server.key
下面介绍如何生成这两个文件
由于Centos 7移除了Openssl的MD5支持,所以会在下面最后一步生成server.crt的时候报错( ./sign-server-cert.sh server ):
error 7 at 0 depth lookup:certificate signature failure
配置在CentOS 7上启用MD5支持
1、暂时启用,在命令行下直接执行
export NSS_HASH_ALG_SUPPORT=+MD5
export OPENSSL_ENABLE_MD5_VERIFY=1
2、通过NetworkManager启用MD5支持
vim /usr/lib/systemd/system/NetworkManager.service
追加下面内容:
[Service]
Environment="OPENSSL_ENABLE_MD5_VERIFY=1 NSS_HASH_ALG_SUPPORT=+MD5"
并重新启动守护进程
systemctl daemon-reload
systemctl restart NetworkManager.service
开始配置生成证书
wget ftp://ftp.pl.vim.org/vol/rzm4/replay.old/mirror/ftp.modssl.org/mod_ssl_contrib/ssl.ca-0.1.tar.gz
tar zxvf ssl.ca-0.1.tar.gz
cd ssl.ca-0.1
./new-root-ca.sh (生成根证书)
No Root CA key round. Generating one
Generating RSA private key, 1024 bit long modulus
...........................++++++
....++++++
e is 65537 (0x10001)
Enter pass phrase for ca.key: (输入一个密码)
Verifying - Enter pass phrase for ca.key: (再输入一次密码)
......
Self-sign the root CA... (签署根证书)
Enter pass phrase for ca.key: (输入刚刚设置的密码)
........
........ (下面开始签署)
Country Name (2 letter code) [MY]:CN
State or Province Name (full name) [Perak]:GuangDong
Locality Name (eg, city) [Sitiawan]:GuangZhou
Organization Name (eg, company) [My Directory Sdn Bhd]:leishen
Organizational Unit Name (eg, section) [Certification Services Division]:kuaiyin
Common Name (eg, MD Root CA) []:H5 CA
Email Address []:dami_cn@163.com
这样就生成了ca.key和ca.crt两个文件,下面还要为我们的服务器生成一个证书:
./new-server-cert.sh server (这个证书的名字是server)
......
......
Country Name (2 letter code) [MY]:CN
State or Province Name (full name) [Perak]:GuangDong
Locality Name (eg, city) [Sitiawan]:GuangZhou
Organization Name (eg, company) [My Directory Sdn Bhd]:leishen
Organizational Unit Name (eg, section) [Secure Web Server]:kuaiyin
Common Name (eg, www.domain.com) []:svn.test.com ##注意这个Common Name不能和上面第一个Common Name设置相同
Email Address []:dami_cn@163.com
这样就生成了server.csr和server.key这两个文件。
还需要签署一下才能使用的:
./sign-server-cert.sh server
CA signing: server.csr -> server.crt:
Using configuration from ca.config
Enter pass phrase for ./ca.key: (输入上面设置的根证书密码)
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'CN'
stateOrProvinceName :PRINTABLE:'GuangDong'
localityName :PRINTABLE:'GuangZhou'
organizationName :PRINTABLE:'leishen'
organizationalUnitName:PRINTABLE:'kuaiyin'
commonName :PRINTABLE:'svn.test.com'
emailAddress :IA5STRING:'dami_cn@163.com'
Certificate is to be certified until Jan 27 12:05:17 2019 GMT (365 days)
Sign the certificate? [y/n]: y
1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries
Data Base Updated
CA verifying: server.crt <-> CA cert
server.crt: OK
(如果这里出现错误,最好重新来过,删除ssl.ca-0.1这个目录,从解压缩处重新开始。)
完成上面步骤,就生成了server.crt server.key两个文件
将这两个文件拷贝到/opt/apache/conf/
然后重启http
/opt/apache/bin/apachectl restart
完成上面所有步骤,就可以使用https访问svn域名了
https://svn.test.com/leishen/mysvn
参考文章
http://www.eit.name/catool/
http://blog.csdn.net/magicbreaker/article/details/1566742
http://www.zeali.net/entry/532
http://software-engineer.gatsbylee.com/centos7openvpn-verify-error-depth0-errorcertificate-signature-failure/
http://php.upupw.net/apache/6/6325.html 配置HTTP强制跳转到HTTPS
CentOS 7 配置HTTPS加密访问SVN的更多相关文章
- lnmp之Nginx配置https加密访问
配置lnmp之Nginx网站支持https加密访问 注: 1. 这里拿购买的(pxsnx.pxjy.com)证书来做样例 证书文件共有三个---> (pxsnxg.pxjy.com_ca.crt ...
- 【转】Linux下nginx配置https协议访问的方法
一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...
- Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置
Tomcat8配置Https协议,Tomcat配置Https安全访问,Tomcat Https配置 ============================== ©Copyright 蕃薯耀 2017 ...
- 我用阿里云的虚拟云主机,也能配置https加密吗?
我用阿里云的虚拟云主机,也能配置https加密吗?答案是YES. 整个过程比想象中还要简单,都是一些基本的配置,虚拟主机 Web托管都可以很容易的搞定https. 首先我们要了解一下,阿里云是怎么支持 ...
- Linux服务之nginx服务篇四(配置https协议访问)
一.配置nginx支持https协议访问 编译安装nginx的时候需要添加相应的模块--with-http_ssl_module和--with-http_gzip_static_module(可通过/ ...
- Tomcat配置https协议访问
Tomcat9配置https协议访问: https://blog.csdn.net/weixin_42273374/article/details/81010203 配置Tomcat使用https协议 ...
- 为阿里云域名配置免费SSL支持https加密访问简单教程
阿里云之前有免费ssl入口申请,现在已经关闭了.那么现在怎么为自己的域名配置https呢? 首先打开阿里云域名控制台,如以下界面.(这里暂且用我的这个域名讲解吧) 如上图点击ssl证书,点击单域名免 ...
- Nginx采用https加密访问后出现的问题
线上的一个网站运行了一段时间,应领导要求,将其访问方式更改为https加密方式.更改为https后,网站访问正常,但网站注册功能不能正常使用了! 经过排查,是nginx配置里结合php部分漏洞了一个参 ...
- 【原创】CA证书申请+IIS配置HTTPS+默认访问https路径
一.CA证书申请 (一). 新StartSSL注册帐号 1. StartSSL官网 官方网站:https://www.startssl.com/ 2. 进入到StartSSL后,直接点击注 ...
随机推荐
- URAL - 1427-SMS
题目大意:给你长度为n的字符串(n<=1e6),让你对它进行划分,如果一段里面只有字母和 空格可以包含m(m<=1e5)个,如果有其他字符只能包含n个,问你最少需要分成几段. 思路:划分d ...
- window下mongodb安装和配置
mongodb安装和配置 1.下载:https://www.mongodb.com 2.解压到盘的根目录下,本人解压到D盘根目录 3.在软件根目录下新建一个文件夹data 4.再新建两个文件夹db.l ...
- 条件随机场之CRF++源码详解-开篇
介绍 最近在用条件随机场做切分标注相关的工作,系统学习了下条件随机场模型.能够理解推导过程,但还是比较抽象.因此想研究下模型实现的具体过程,比如:1) 状态特征和转移特征具体是什么以及如何构造 2)前 ...
- 【Ray Tracing The Next Week 超详解】 光线追踪2-7 任意长方体 && 场景案例
上一篇比较简单,很久才发是因为做了一些好玩的场景,后来发现这一章是专门写场景例子的,所以就安排到了这一篇 Preface 这一篇要介绍的内容有: 1. 自己做的光照例子 2. Cornell box画 ...
- 三篇文章带你极速入门php(二)之迅速搭建php环境
前言 今天讲一下php在windows,mac,linux上的集成环境搭建,目标是简单快速,环境这个事得对号入座,windows用phpstudy,mac用mamp,linux用lnmp一键安装,直接 ...
- Consul服务器配置
微服务带来最大的好处就是把整个大项目分割成不同的服务,运行在不同服务器上,实现解耦和分布式处理.微服务虽然有很多好处,但是也会有不好的一方面.任何事物都会有两面性,在微服务里面运维会是一个很大的难题, ...
- JAVA编程:字符串转为数字求和
程序从命令行接入数字,求和,如果接入的是字符串的解决办法 设计思想: 首先定义一个double类型的一维数组,然后在定义一个double型的变量sum,并赋值为0,用if循环判断从命令行是否有参数输入 ...
- 漫谈可视化Prefuse(六)
可视化一路走来,体会很多:博客一路写来,收获颇丰:代码一路码来,思路越来越清晰.终究还是明白了一句古话:纸上得来终觉浅,绝知此事要躬行. 跌跌撞撞整合了个可视化小tool,零零碎碎结交了众多的志同道合 ...
- Javascript日常编码中的一些常见问题
一.尽量少用全局变量 这是一个疑问最少,同时流传最 广的一条.Javascript使用函数管理作用域,全局变量最大的问题在于同名变量冲突.这种隐患产生比较直接的两个原因就是Javascript语言 ...
- request.environ.get('wsgi.websocket')
前言 websocket 是一种html5新的接口,以前服务器推送需要进行ajax等方式进行轮训,对服务器压力较高,随着新标准的推进,使用websocket在推送等方面已经是比较成熟了,并且各个浏览器 ...