GVKun编程网logo

uos上配置apache ssl(https)(uos配置ip地址命令)

22

本文将介绍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地址命令)

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配置案例

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证书)

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项目

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

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等更多相关知识的信息可以在本站进行查询。

本文标签: