当前位置: 首页 > news >正文

销售型网站营销目标网站 网页数量

销售型网站营销目标,网站 网页数量,郑州网络营销外包顾问,免费手机网站建站平台文章目录 Openssl操系统默认的CA证书的公钥位置Nginx Https 自签证书1. 生成自签名证书和私钥2. 配置 Nginx 使用 HTTPS3. 重启 Nginx 服务4. 直接访问5. 不验证证书直接访问6. 使用server.crt作为ca证书验证服务端解决方法1:使用 --resolve 参数进行请求域名解析解…

文章目录

  • Openssl
  • 操系统默认的CA证书的公钥位置
  • Nginx Https 自签证书
    • 1. 生成自签名证书和私钥
    • 2. 配置 Nginx 使用 HTTPS
    • 3. 重启 Nginx 服务
    • 4. 直接访问
    • 5. 不验证证书直接访问
    • 6. 使用server.crt作为ca证书验证服务端
      • 解决方法1:使用 --resolve 参数进行请求域名解析
      • 解决方法2:修改客户端的 hosts 文件
    • 7. curl 验证服务端时 不指定证书路径
  • Nginx Https 使用CA签发证书
  • 客户端使用自签证书供服务端验证
  • 客户端使用 根证书 签发客户端证书 供服务端验证

在这里插入图片描述


Openssl

https://www.openssl.net.cn/

openssl是一个功能丰富且自包含的开源安全工具箱。

它提供的主要功能有:

  • SSL协议实现(包括SSLv2、SSLv3和TLSv1)
  • 大量软算法(对称/非对称/摘要)
  • 大数运算
  • 非对称算法密钥生成
  • ASN.1编解码库
  • 证书请求(PKCS10)编解码
  • 数字证书编解码
  • CRL编解码
  • OCSP协议
  • 数字证书验证
  • PKCS7标准实现
  • PKCS12个人数字证书格式实现等功能

openssl采用C语言作为开发语言,这使得它具有优秀的跨平台性能。openssl支持Linux、UNIX、windows、Mac等平台。openssl目前最新的版本是0.9.8e.


操系统默认的CA证书的公钥位置

centos 下 被信任的证书在此文件中

/etc/pki/t1s/certs/ca-bunde.crt

在这里插入图片描述


Nginx Https 自签证书

创建和配置 Nginx 使用 HTTPS 自签名证书的步骤如下:

1. 生成自签名证书和私钥

在这里插入图片描述

openssl genrsa -out server.key 2048

  • 该命令生成一个 RSA 密钥对,并将私钥保存到 server.key 文件中。参数 2048 指定了密钥长度为 2048 位。

openssl req -x509 -new -nodes -key server.key -subj "/CN=artisan.com" -days 10000 -out server.crt

  • 这个命令生成一个自签名的 X.509 证书。解释如下:
    • -x509:表示生成自签名证书。
    • -new:创建一个新的证书请求。
    • -nodes:不加密生成的私钥。
    • -key server.key:指定使用之前生成的私钥文件 server.key
    • -subj "/CN=yandun.com":指定证书的主题(Subject)。在这里,/CN=yandun.com 表示通用名称(Common Name)为 yandun.com
    • -days 10000:指定证书的有效期为 10000 天。
    • -out server.crt:将生成的证书保存到 server.crt 文件中。

openssl x509 -in server.crt -noout -text

  • 该命令用于查看生成的证书的详细信息,包括主题、颁发者、有效期等。解释如下:
    • -in server.crt:指定要查看的证书文件。
    • -noout:不打印证书内容到标准输出。
    • -text:以文本形式显示证书内容。

这些命令可以用来生成自签名的证书并查看证书的详细信息。

在这里插入图片描述

Issuer 和 Subject 是同一个机构, 说明是自签证书。

CA: TRUE 说明它是一个CA签发结构。


2. 配置 Nginx 使用 HTTPS

编辑 Nginx 的配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default),并确保以下配置项已经添加或更新:

 server {..........ss1 on;ss1_certificate /cert/server.crt;ss1_certificate_key /cert/server.key;# 暂不开启#ss1_client_certificate /cert/client.crt;#ssI_verify_client on;ss1_session_cache shared:ssL:1m;ss1_session_timeout 10m;ss1_ciphers HIGH:!aNULL:!MD5;ss1_prefer_server_ciphers on; ..........}

每个指令的含义如下:

  1. ss1 on;

    • 启用 SSL/TLS 加密。这表示流模块将使用 SSL/TLS 加密来保护与客户端的通信。
  2. ss1_certificate /cert/server.crt;

    • 指定用于 SSL/TLS 加密的服务器证书文件路径。在这里,/cert/server.crt 是服务器证书的路径。
  3. ss1_certificate_key /cert/server.key;

    • 指定用于 SSL/TLS 加密的服务器私钥文件路径。在这里,/cert/server.key 是服务器私钥的路径。
  4. #ss1_client_certificate /cert/client.crt;

    • 用于指定客户端证书的文件路径。这是可选的,如果您希望服务器验证客户端的证书,则取消注释并指定客户端证书的路径。
  5. #ss1_verify_client on;

    • 用于指定是否验证客户端证书。取消注释并设置为 on 可以启用客户端证书验证。
  6. ss1_session_cache shared:ssL:1m;

    • 指定用于缓存 SSL/TLS 会话的共享内存区域名称和大小。在这里,会话缓存名称为 ssL,大小为 1MB。
  7. ss1_session_timeout 10m;

    • 指定 SSL/TLS 会话的超时时间。在这里,会话超时时间为 10 分钟。
  8. ss1_ciphers HIGH:!aNULL:!MD5;

    • 指定 SSL/TLS 加密算法的优先级和允许使用的加密套件。在这里,使用了 HIGH 表示使用高强度加密算法,同时禁用了一些不安全的加密套件,如 NULLMD5
  9. ss1_prefer_server_ciphers on;

    • 指定是否优先使用服务器端提供的加密套件。设置为 on 表示优先使用服务器端提供的加密套件。

这些指令配置了 Nginx 流模块的 SSL/TLS 加密功能,包括了服务器证书、私钥、会话缓存等参数。


3. 重启 Nginx 服务

完成配置后,通过以下命令重启 Nginx 服务,以使更改生效:

sudo systemctl restart nginx

现在,Nginx 应该已经配置为使用自签名证书进行 HTTPS 加密通信。请确保防火墙已正确配置以允许流量通过 HTTPS 端口(默认为 443)。


4. 直接访问

在这里插入图片描述

我们可以看到 开启了Https以后,直接使用http的方式访问是行不通的

curl: (60) Peer's certificate issuer has been marked as not trusted by the user
More details here: http;//curl.haxx.se/docs/sslcerts.html  

通过web访问 会弹出警告信息

在这里插入图片描述


5. 不验证证书直接访问

If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure)  option.
curl  https://192.168.3.103 -k 

可以通过在 curl 命令中添加 -k--insecure 选项来关闭 curl 对证书的验证,从而允许直接访问未经验证的 HTTPS 网站。这样做会绕过证书验证过程,可能会存在安全风险,因此建议仅在测试或特殊情况下使用。

可以使用的命令:

curl https://192.168.3.103 -k

这个命令将直接访问 https://192.168.3.103,而不会验证服务器证书的有效性。

请注意,使用 -k 选项会将连接置于不安全的状态,因为它不验证服务器证书的真实性,可能容易受到中间人攻击。因此,在生产环境中应避免使用此选项,以确保通信的安全性。


6. 使用server.crt作为ca证书验证服务端

cur https://192.168.3.103  --cacert /cert/server.crt

在这里插入图片描述

curl: (51) Unable to communicate securely with peer: requested domain name does not match  the server's certificate.

证书绑定的域名和当前请求域名不匹配


解决方法1:使用 --resolve 参数进行请求域名解析

cur1 https://artisan.com --cacert /cert/server.crt artisan.com:443:192.168.3.103

可以使用 curl 命令的 --resolve 参数来指定域名解析,将请求的域名解析为服务器的 IP 地址。这样,即使请求的域名与服务器证书绑定的域名不匹配,也能够建立连接。

这种方法只适用于测试或特殊情况,因为它绕过了域名验证的重要步骤,存在一定的安全风险。


解决方法2:修改客户端的 hosts 文件

让客户端解析 artisan.com 为 ip 192.168.3.103

echo  "192.168.3.103 artisan.com' >> /etc/hosts

将服务器的域名解析为服务器的 IP 地址,以确保请求的域名与服务器证书绑定的域名匹配。通过编辑客户端的 hosts 文件来实现,将域名解析为正确的 IP 地址。

这种方法更安全,因为它保留了域名验证的重要性,并且不会绕过任何安全检查。


7. curl 验证服务端时 不指定证书路径

cat /cert/server.crt >> /etc/pki/tls/certs/ca-bundle.crt
curl   https://artisan.com

会报错,curl: (7) Failed connect to artisan.com:443; Connection refused

可以采用如下命令

curl   https://artisan.com  --resolve artisan.com:443:192.168.3.103

在这个命令序列中, 将服务器证书 server.crt 的内容附加到根证书存储库 /etc/pki/tls/certs/ca-bundle.crt 中,然后使用 curl 命令来访问 https://artisan.com 网站。

首先尝试将服务器证书 server.crt 的内容追加到系统的根证书存储库中,然后使用 curl 命令来访问 https://artisan.com。然而,遇到了连接被拒绝的错误。

使用 --resolve 参数来模拟 DNS 解析,将 artisan.com 解析为 IP 地址 192.168.3.103。这样做可以绕过 DNS 解析,并直接将域名与 IP 地址对应,从而解决了连接被拒绝的问题。

curl https://artisan.com --resolve artisan.com:443:192.168.3.103

这个命令中的 --resolve artisan.com:443:192.168.3.103 参数指示 curl 使用指定的 IP 地址来访问 artisan.com,而不是通过 DNS 解析。

这种方法适用于在本地测试环境中模拟特定域名与 IP 地址的关联,但在生产环境中应避免使用,因为它绕过了域名解析的安全检查。


Nginx Https 使用CA签发证书

PKI - 借助Nginx 实现Https_使用CA签发证书


客户端使用自签证书供服务端验证

PKI - 借助Nginx实现_客户端使用自签证书供服务端验证


客户端使用 根证书 签发客户端证书 供服务端验证

PKI - 借助Nginx实现_客户端使用CA根证书签发客户端证书


在这里插入图片描述

http://www.yayakq.cn/news/38471/

相关文章:

  • 怎么自己做画册网站微官网和手机网站区别
  • 平台型网站建设公司台州建设局网站企业黑名单
  • 怎么做网站文章伪原创jiasale wordpress 插件
  • 宜兴建设局的网站移动端网站建设公司
  • 做服装团购有哪些网站网站策划知识
  • 百度站长反馈中心wordpress固定链接500
  • 设计之家网站怎么样江苏省建设招标网站首页
  • 关于网站建设的基础知识厦门35网站建设公司
  • 上海网站开发方案郑州网站推广哪家专业
  • 天水市网站建设网站如何开通支付功能
  • 网站开发需要大学吗沪深300指数基金排名
  • 电子商务网站建设的心得体会黑白高端大气网站设计工作室织梦dedecms模板
  • 网站的栏目和版块设计的原则吕梁seo排名
  • 工业做网站甜橙直播
  • 哪个网站做欧洲旅行比较好淘宝客网站怎么做优化
  • 大气手机网站用什么软件做网站前端
  • 西宁网站设计公司js做示爱网站例子
  • 莱芜网站建设自助建站优化微信公众号网页怎么制作
  • 沈阳科技网站建设wordpress搜索不了中文linux
  • 建设一个能看视频的网站手机网站需要备案吗
  • 清理wordpress烟台优化网站排名
  • 知名企业门户网站建设联系电话湖州长兴做网站
  • 档案网站建设思考php wordpress 漏洞
  • 新乡网站建设设计做一个配送网站
  • 怎么做网站关键词库排名千万别在百度上搜别人的名字
  • 网站开发用wordpress英文源码
  • 网站建设公司源码 asp新手如何做网站
  • 佛山网站建设公司哪家性价比高2345网址导航浏览器
  • 专门做搞笑视频的网站甜品网站网页设计代码
  • 申请个人网站多少钱wordpress可视化页面编辑器