本文将介绍uos上配置apachessl(https)的详细情况,特别是关于uos配置ip地址命令的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于a
本文将介绍uos上配置apache ssl(https)的详细情况,特别是关于uos配置ip地址命令的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于apache httpd基于openssl的https配置案例、Apache 强制全站https请求(配置ssl证书)、Apache 服务器使用沃通免费SSL证书 配置https项目、Apache 配置 https 支持 ssl的知识。
本文目录一览:- uos上配置apache ssl(https)(uos配置ip地址命令)
- apache httpd基于openssl的https配置案例
- Apache 强制全站https请求(配置ssl证书)
- Apache 服务器使用沃通免费SSL证书 配置https项目
- Apache 配置 https 支持 ssl
uos上配置apache ssl(https)(uos配置ip地址命令)
笔者设置时发现,ubuntu20.04的目录中本来就有不少证书,可以不生成,但建议还生成自己的证书
1.创建私钥文件
openssl genrsa -des3 -out server.key 2048
去掉-des3 就不会需要密码,建议加上。
2.创建CSR(Certificate Signing Request)文件
openssl req -new -key server.key -out server.csr
输入密码之后还需要填写一些信息:
信息注解 Country Name (2 letter code) [AU]:CN ←输入国家代码 State or Province Name (full name) [Some-State]:SHANGHAI ← 输入省名 Locality Name (eg, city) []:SHANGHAI ←输入城市名 Organization Name (eg, company) [Internet Widgits Pty Ltd]:COMPANY ← 输入公司名 Organizational Unit Name (eg, section) []:RSA ← 输入组织单位名 Common Name (eg, YOUR name) []:virtual-machine ← 输入主机名(想要开启https的主机名) Email Address []:123@163.com ←输入电子邮箱地址
3.自己签发证书
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
若以上步骤执行正常,当前目录会生成server.key、server.csr、server.crt三个文件
复制到相应目录
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
修改ssl配置文件
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl gedit /etc/apache2/sites-enabled/default-ssl.conf
指定已经生成的crt证书和私钥位置
修改完成后,重启服务
service apache2 restart
若成功启动服务,就可以使用https访问了
查看下apache2的日志
原因:使用的私钥长度太短了,需要高于1024位
解决方法:重新生成一个2048位的密钥和证书
总结
以上是小编为你收集整理的uos上配置apache ssl(https)全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
原文地址:https://www.cnblogs.com/linuxws/p/16383508.html
apache httpd基于openssl的https配置案例
1、安装mod_ssl
yum -y install mod_ssl
安装后生成的主配置文件是:/etc/httpd/conf.d/ssl.conf
2、弄一台服务器做CA
cd /etc/pki/CA/
(umask 077;openssl genrsa -out private/cakey.pem)
编辑更改默认配置,改动下面配置的原因是在签证的时候就用我下面指定的默认值,免得每次都去输入
vim ../tls/openssl.cnf
[ req_distinguished_name ]
countryName_default = CN
stateOrProvinceName_default = SiChuan
localityName_default = ChengDu
0.organizationName_default = Sige
organizationalUnitName_default = Tech
生成自签证书
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655
Common Name (eg, your name or your server''s hostname) 这个地方就是以后证书上显示的颁发者
确保/etc/pki/CA/目录下有这个3个目录certs crl newcerts,没有就建上
touch index.txt
echo 01 >serial
3、回到web服务器192.168.100.24上来
假设我把证书放到/etc/httpd/ssl下
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl
生成密钥
(umask 077; openssl genrsa 2048 > httpd.key)
生成证书颁发请求
openssl req -new -key httpd.key -out httpd.csr
填写一定要和CA上的一致
Common Name (eg, your name or your server''s hostname) []:www.qq.com 我假设给这个域名用
4、把httpd.csr发送到CA服务器上开始签
openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -days 36550
5、把签好了的httpd.crt文件传回web服务器192.168.100.24上来,然后编辑ssl.conf配置服务器使用这个证书
vim /etc/httpd/conf.d/ssl.conf
主要是改这里<VirtualHost _default_:443>,改成下面的样子
<VirtualHost 192.168.200.24:443>
DocumentRoot "/var/www/qq"
ServerName www.qq.com:443
SSLCertificateFile /etc/httpd/ssl/httpd.crt #证书位置
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key #私钥位置
6、完成,验证
httpd -t
systemctl restart httpd
客户端验证
如果要客户端不提示不信任的证书,需要把CA服务器上的cacert.pem传到Windows上改名为cacert.crt,双击安装到受信任的根证书颁发机构就行了,以后就不会提示不信任
Apache 强制全站https请求(配置ssl证书)
环境:Apache2.2 + Centos 6.8
最近做网站需要用到https,像百度、京东那样,浏览器上有个绿色的小锁头,同时数据加密也是网站很大的保障。由于是临时测试的,所以在阿里云上面买了个赛门铁克的免费型的证书。(中间申请部分略过)证书最后颁发的时候,可以在列表页操作下载,进入下载页,选择Apache,然后可以按照上面的官方的文档配置,但是不需要这么做,刚开始弄这个的人,估计度娘谷歌了很久还是懵逼,因为最后在地址栏输入域名刷新的时候,却不是自己想要的效果。要这么来,保准你次次都行。
咋们先要这么想:比如我手上有个一个域名www.aaa.com,那既然是要全站强制跳转https,那就要配两个虚拟主机,一个是监听80端口的,这个虚拟机只做监听和转发的工作,不用配置啥站点根目录。还有一个是监听443端口的,这个做真正的访问工作,除了需要配置原本没有ssl之前80虚拟机需要做的工作外,还要开启ssl引擎验证、指定证书位置、私钥(私钥都放自己的服务器上用来接收请求的时候解密数据用的;公钥是访问的时候,客户端会下载),看懂了上面的话,下面的配置就不成问题了。
#记得监听这个端口
Listen 443
#load这个ssl模块进来
LoadModule ssl_module modules/mod_ssl.so
<VirtualHost *:80>
ServerName www.aaa.com
ServerAlias aaa.com
RewriteEngine on
RewriteRule ^(.*)?$ https://www.aaa.com$1 [R=301,L]
</VirtualHost>
<VirtualHost *:443>
ServerAdmin aaa@163.com
DocumentRoot "/home/aaa/webroot"
ServerName www.aaa.com
#开启ssl引擎
SSLEngine on
#写你证书的路径
SSLCertificateFile /etc/httpd/cert/public.pem
#写你私钥的路径
SSLCertificateKeyFile /etc/httpd/cert/21427950260000000.key
#设置站点访问规则
<Directory "/home/aaa/webroot">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#指定错误日志&访问日志
ErrorLog "logs/aaa.com-error_log"
CustomLog "logs/aaa.com-access_log" common
</VirtualHost>
其中要说明的是,在80虚拟机配置的最后一行,^(.*)? 和$1 这两东西代表了比如你访问了www.aaa.com/public/index/ ,那么这段url的/public/index/会被占位的$1变量都会照旧复制过来,[R=301,L]代表永久转发。其实现在好多人都一窝蜂的都去用nginx了,抗高并发比apache牛,占用内存也少,可以考虑从apache+tomcat转向nginx+tomcat了,apache只是情怀
Apache 服务器使用沃通免费SSL证书 配置https项目
近日碰到web开发的跨域问题,甚为恼火,网上找了很多资料,但很多都大同小异,没有解决问题。幸运的是,无意中看到了“沃通”,最后在沃通技术支持的帮助下,圆满解决了问题,在这里我要给这位技术支持点赞!
废话不多说,直接进入正题!
问题:https与http的嵌套问题
在caspio(一个应开发平台,不区分前后台)的https页面中用iframe嵌套我自己的一个web应用,开始我的应用是使用 http 访问,结果在IE中打开时,浏览器会提示页面中包含不安全的内容,只有在点击“显示全部内容”后才能看到iframe中我的应用;而在chrome中,完 全没显示,只在后台console中显示错误。
解决方案:
首先,必须明白一点,要想好的用户体验,就必须避免不同站点的https与http的嵌套问题,那么,解决办法就是将http的站点部署为 https的,前提是这个http的站点你是可以完全控制的,因为你需要修改其服务器配置。以下就是针对Apache配置https的过程。Apache 使用的是phpstudy的集成开发环境。
https =http+SSL
第一步,准备SSL证书。
如果你不想掏钱,你可以去沃通官网(https://www.wosign.com/) 申请免费的沃通提供的免费SSL证书,使用时长是一年。申请过程就不说了,很清楚,注意一点就是注意保管好证书安装密码,并且注册的域名要和你的网站的域 名保持一致。注册完后,系统会返回一封邮件发邮件,有一个是客户端SSL证书,一个是服务器SSL证书,显然我们需要服务器端证书,(如果没有收到可以问 客服)。服务器端证书是一个以你域名命名的压缩包,其中对应各种不同服务器,楼主此处选的是for Apache.zip。该压缩包中包括三个文件,私钥,公钥和证书。
1_root_bundle.crt
2_www.test.com.crt
3_www.test.com.key
然后,将这三个文件放入你的Apache的conf目录下即可。
第二步,配置Apache
1.打开Apache的配置文件httpd.conf,去掉下面一项前面的注释符 #
#LoadModule ssl_module modules/mod_ssl.so
2.配置https接口
(这里我们不用#Include conf/extra/httpd-ssl.conf ,直接在httpd.conf文件中配置)
在httpd.conf文件的末尾添加如下代码
###################################################################
#https的访问端口
Listen 443
<VirtualHost *:443>
SSLEngine on
#Apache的web项目虚拟目录,与前面保持一致
DocumentRoot "C:\inetpub\wwwroot"
ServerName www.seevin.com
#此处对应的就是前面公钥、私钥和证书
SSLCertificateFile "C:\Program Files\phpStudy\Apache\conf\2_www.seevin.com.crt"
SSLCertificateKeyFile "C:\Program Files\phpStudy\Apache\conf\3_www.seevin.com.key"
SSLCertificateChainFile "C:\Program Files\phpStudy\Apache\conf\1_root_bundle.crt"
</VirtualHost>
###################################################################
OK,配置完成,重启Apache,即可使用Https访问你注册的域名。
楼主配置中遇到的问题,也是让那位技术支持纠结了好久的问题:就是后面公钥、私钥和证书的目录问题导致Apache无法启动,建议使用绝对目录,相对目录可能会有问题。
另一个造成无法启动Apache的问题,443端口已被占用,此时可以选则别的端口。
Apache 配置 https 支持 ssl
1. 安装 openssl
下载 Openssl:http://www.openssl.org/source/ 或者 https://github.com/openssl/openssl
tar -zxf openssl-1.0.2n.tar.gz // 解压安装包
cd openssl-1.0.2n // 进入已经解压的安装包
./config // 配置安装。推荐使用默认配置
make && make install // 编译及安装
openssl 默认将被安装到 /usr/local/ssl
2. 让 apache 支持 ssl,编译的时候,要指定 ssl 支持。
静态或者动态
静态方法即 --enable-ssl=static --with-ssl=/usr/local/ssl
动态方法 --enable-ssl=shared --with-ssl=/usr/local/ssl
其中第二种方法会在 module/ 目录下生成 mod_ssl.so 模块,而静态不会有,当然第二种方法也需要在 httpd.conf 中加入
LoadModule ssl_module modules/mod_ssl.so
3. 获取证书
3. 1 创建私钥
在创建证书请求之前,您需要首先生成服务器证书私钥文件。
cd /usr/local/ssl/bin // 进入 openssl 安装目录
openssl genrsa -out server.key 2048 // 运行 openssl 命令,生成 2048 位长的私钥 server.key 文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows 环境下不支持加密格式私钥,Linux 环境下使用加密格式私钥时,每次重启 Apache 都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。
cp server.key /usr/local/apache/conf/ssl.key/
3.2 生成证书请求(CSR)文件
openssl req -new -key server.key -out certreq.csr
Country Name: // 您所在国家的 ISO 标准代号,中国为 CN
State or Province Name: // 您单位所在地省 / 自治区 / 直辖市
Locality Name: // 您单位所在地的市 / 县 / 区
Organization Name: // 您单位 / 机构 / 企业合法的名称
Organizational Unit Name: // 部门名称
Common Name: // 通用名,例如:www.itrus.com.cn。此项必须与您访问提供 SSL 服务的服务器时所应用的域名完全匹配。
Email Address: // 您的邮件地址,不必输入,直接回车跳过
"extra"attributes // 以下信息不必输入,回车跳过直到命令执行完毕。
3.3 备份私钥并提交证书请求
请将证书请求文件 certreq.csr 提交给天威诚信,并备份保存证书私钥文件 server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。
4. 安装证书
4.1 获取服务器证书中级 CA 证书
为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级 CA 证书 (不同品牌证书,可能只有一张中级证书)。
从邮件中获取中级 CA 证书:
将证书签发邮件中的从 BEGIN 到 END 结束的两张中级 CA 证书内容(包括 “-----BEGIN CERTIFICATE-----” 和 “-----END CERTIFICATE-----”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为 conf/ssl.crt/intermediatebundle.crt 文件 (如果只有一张中级证书,则只需要保存并安装一张中级证书)。
4.2 获取 EV 服务器证书
将证书签发邮件中的从 BEGIN 到 END 结束的服务器证书内容(包括 “-----BEGIN CERTIFICATE-----” 和 “-----END CERTIFICATE-----”) 粘贴到记事本等文本编辑器中,保存为 ssl.crt/server.crt 文件
4.3 apache 的配置 2.0 的配置
httpd.conf 中增加
Listen 443
NameVirtualHost *:443
DocumentRoot "/data/web/www"
ServerName aaa.com:443
ErrorLog "logs/error.log"
CustomLog "logs/access.log" combined
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt
今天关于uos上配置apache ssl(https)和uos配置ip地址命令的介绍到此结束,谢谢您的阅读,有关apache httpd基于openssl的https配置案例、Apache 强制全站https请求(配置ssl证书)、Apache 服务器使用沃通免费SSL证书 配置https项目、Apache 配置 https 支持 ssl等更多相关知识的信息可以在本站进行查询。
本文标签: