整理Nginx/Apache服务器配置HTTPS SSL证书示范教程

2023-05-16

昨天我们看到百度发布"百度烽火算法升级",提到网站如果被劫持或者拦截可能会降低网站的权重和排名等问题。这使得我们网站需要使用HTTPS SSL证书来减少被拦截劫持的风险。其实在早些时候我们已经看到很多浏览器都强制要求网站使用SSL证书,如果不使用的会被提示不安全网站URL。这次机遇百度文章发布之后,可以看到大家应该还在犹豫的话会新增SSL证书实现HTTPS访问。

目前,大部分网站都会采用的是NGINX、APACHE等WEB架构,所以我们只需要学习这两个架构技术就可以。这里我们需要注意的,SSL证书的安装分两种, 一种是我们服务器自带的一键安装免费SSL证书。比如let's encrypt证书是免费的。对于个人网站或者小型网站是可以使用的,而且大部分浏览器也是支持的。但是作为商业网站,我们总不能去使用免费证书吧。所以如果是购买第三方的付费证书,我们需要做的就是配置到服务器中。

在这篇文章中,笔者将会分享在常规的NGINX、APCHE中如何配置SSL证书。其实配置SSL证书不难的,只要我们认真看下过程就可以。如果我们个人网站可以使用免费证书,一般LAMP或者LNMP脚本都是自带免费证书的。具体可以参考:

1、LNMP环境一键安装免费Let's Encrypt SSL证书

2、宝塔面板不同PHP版本、伪静态设置且一键免费安装Let's Encrypt

但是,如果我们是购买的付费证书则不可以这么自动化安装SSL,我们需要手工安装。

第一、NGINX WEB引擎安装SSL证书

在当前网站下服务器配置文件的.conf文件中添加。

server {
listen 443;
server_name www.domain.com; #填写绑定证书的域名
ssl on;
ssl_certificate 1_www.domain.com_bundle.crt;
ssl_certificate_key 2_www.domain.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录
index index.html index.htm;
}
}

安装完毕之后,我们需要命令检查是否生效。

nginx -t

检测没有报错重启NGINX。

service nginx reload

重启NGINX后生效。

第二、Apache WEB引擎安装SSL

我们需要先在Apache根目录下 conf/httpd.conf 文件,找到 #LoadModule ssl_module modules/mod_ssl.so 和 #Include conf/extra/httpd-ssl.conf,去掉前面的#号注释;编辑Apache根目录下 conf/extra/httpd-ssl.conf 文件。

修改如下内容:

<VirtualHost www.domain.com:443>
DocumentRoot "/var/www/html"
ServerName www.domain.com
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt
SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key
SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt
</VirtualHost>

配置完成后,重新启动 Apache 就可以使用HTTPS网址访问。相对来说好像NGINX比较简单一些。

第三、实例参考安装SSL过程

1、购买证书后合并证书

我们在购买证书后会看到.crt和.ca-bundle文件,需要将这2个文件合并到一个文件.crt中。

2、上传证书

我们需要将上面的CRT文件和KEY文件上传到网站服务器目录中,这个具体放到哪里没事。因为我们可以在引用的时候调用对应自己的路径。

3、引用CONF文件路径

listen 443 ssl http2;
  ssl_certificate /usr/local/nginx/conf/ssl/网站域名.crt;
  ssl_certificate_key /usr/local/nginx/conf/ssl/网站域名.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;

这里我们将配置文件贴到conf文件中,然后检测Nginx,后没有问题就重启生效。

4、收尾工作

如果我们需要强制HTTP跳转至HTTPS,则需要在conf配置文件中设置301强制跳转。

这样,我们才可以完成整个的SSL证书安装,是不是也不是很难?

本文可以参考的文献:

1、申请腾讯云免费DV SSL证书及Apache/Nginx/IIS/Tomcat证书安装

2、手动配置安装SSL证书实现HTTPS加密网址

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

整理Nginx/Apache服务器配置HTTPS SSL证书示范教程 的相关文章

  • 使用 nginx 将 PATCH 请求代理为 POST

    我尝试使用 nginx 将 HTTP PATCH 请求重定向到 HTTP POST 请求 我还尝试了以下配置 但它不起作用 我收到 400 错误请求 http map request method my method default req
  • Apache James 学习资源 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 该计划是创建一个列表阿帕奇 詹姆斯 http james apache org学习资源 涉及从设置到使用
  • 在 Traefik 1.5.0-rc5 中使用新的 httpChallenge 时出现问题

    在尝试升级到最新的 traefik 版本以便能够从 LetsEncrypt 生成 TLS 证书时 我遇到了证书生成时间的问题 这之前工作过traefik 1 4使用acme ondemand标志和其他设置 减去httpChallenge当然
  • 如何使用独立的 Jetty 进行服务器推送

    我正在尝试使用独立的 Jetty 在静态网站上测试服务器推送功能 我的网站由一个index html 1个CSS 一堆图像组成 目录结构为 Album index html style css images image 1 png a se
  • 签署 apple-app-site-association

    我尝试实施iOS9 Universal Links 我正在使用这个教程 http blog hokolinks com how to implement apple universal links on ios 9 http blog ho
  • 证书中的主机名不匹配:<>!=<> WSO2 APIM

    我有一个 https 端点 我需要从 wso2 API 管理器访问它 使用 1 10 我已经将证书文件添加到 client truststore jks 文件中 但现在它给出了如下错误 hostname in certificate did
  • 通过 https 负载均衡器的 WCF http 服务

    我有一个可以通过 http 端点访问的 WCF Web 服务 现在 该服务应通过 https 与负载均衡器一起发布 客户端是通过 svcutil exe 在 Net 中创建的 但 Java 客户端也需要 WSDL 我的理解是 Web 服务在
  • 如何将指纹添加到密钥库

    我在写入 SSL 套接字时遇到以下异常 javax net ssl SSLHandshakeException sun security validator ValidatorException PKIX path validation f
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • PHP SNMP - 找不到模块

    我已启用 SNMP 模块并尝试使用该模块中的功能 我已将 MIBDIRS 环境变量设置为我的 mib 所在的位置 但我仍然收到这些 找不到模块 警告 Cannot find module IP MIB At line 0 in none C
  • 在 Go 中使用电子邮件地址创建证书签名请求 (CSR)

    我尝试使用 crypto x509 包生成 CSR 但没有找到将 emailAddress 字段添加到其主题中的方法 根据文档证书申请 http golang org pkg crypto x509 CertificateRequest结构
  • 使用 iOS 分布式应用程序时 Google Cloud Messaging 显示“notRegistered”

    我在 iOS 应用程序上实现了 GCM 服务 我使用 PHP 在服务器上发送 GCM 当应用程序由开发配置文件签名时 它可以完美运行 也就是说 当应用程序使用 GCM 配置注册自身时 它始终返回一个正常运行的设备令牌 我可以使用令牌向设备发
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • Avro 消息中的架构

    我看到 Avro 消息嵌入了架构 然后是二进制格式的数据 如果发送多条消息并且为每条消息创建新的 avro 文件 模式嵌入不是一种开销吗 那么 这是否意味着生产者批量处理消息然后写入总是很重要 因此写入一个 avro 文件的多条消息只携带一
  • 如何在 Java 中使用 HTML 解析器和 Apache Tika 来提取所有 HTML 标签?

    我下载了 tika core 和 tika parser 库 但找不到将 HTML 文档解析为字符串的示例代码 我必须删除网页源的所有 html 标签 我能做些什么 如何使用 Apache Tika 进行编码 您想要 html 文件的纯文本
  • 使用 Apache 在本地网络上托管网站

    我目前在我的机器上使用 Apache 在本地测试 PHP 网站 我只是想知道如何允许连接到本地网络的计算机访问本地计算机上托管的网站 如果仅通过 IP 本地网络上的计算机应该能够访问您的计算机 假设您没有防火墙阻止端口 80 HTTP 完成
  • Android:防止嗅探(例如使用 CharlesProxy)SSL 流量

    我使用 Charles 检查将我的应用程序发送到 HTTPS 的数据 我在手机上安装了 Charles CA 证书 因此我能够解密每个 SSL 流量 但我发现一些应用程序无法看到 SSL 流量 我如何将这种行为实现到我自己的应用程序中 有了
  • Android 2.3.4 SSL问题

    升级到 Android 2 3 4 后 出现以下异常 javax net ssl SSLException Read error ssl 0x I O error during system call Connection timed ou
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2

随机推荐

  • DERBY数据库环境搭建以及简单使用

    1 derby数据库 Apache Derby 项目的目标是构建一个完全用 Java 编程语言编写的 易于使用却适合大多数应用程序的开放源码数据库 特点 xff1a l 程序小巧 xff0c 基础引擎和内嵌的JDBC 驱动总共大约 2MB
  • 如何做好项目各干系人的管理及应对?

    如何更好地识别 分析和管理项目关系人 xff1f 主要有以下几个方面 xff1a 1 项目干系人的分析 一般对项目干系人的分析有2种方法 xff0c 方法一 xff1a 权利 xff08 影响 xff09 xff0c 即对项目可以产生影响的
  • floodlight添加模块实验

    元旦的时候发现floodlight 居然更新了 xff0c 吓坏我了 V0 9 是 12 年 10 月更新的 xff0c 然后在 14 年 12 月 30 日连续发布了 V0 91 和 V1 0 OTZ 根据release note 来看
  • OpenFlow1.3协议解析

    注 xff1a 此笔记为在学习OpenFlow协议时的个人总结 xff0c 存在诸多错误和不完善的地方 xff0c 后续会陆续完善 xff0c 仅作参考 如需转载麻烦表明出处 xff0c 并附上连接 xff08 http blog csdn
  • [python]从零开始学python——颜色的16进制于RGB之间的转换

    在学习openstack的时候 xff0c 发现openstack是python开发的 xff1b 学习mininet自定义拓扑 xff0c 发现mininet是python开发的 xff1b 看看ryu xff0c 还是python开发的
  • ubuntu14.04 升级内核

    转载地址 xff1a http blog csdn net u011884290 article details 52082809 前两周升级了ubuntu 16 04 出现了关机卡死的情况 xff0c 查了下可能是系统内核 xff08 4
  • linux firefox提示“firefox is already running”的解决方法

    背景解决方法 背景 linux下 xff0c 多用户通过vnc访问指定IP xff0c 比如192 168 2 94 不同用户执行firefox xff0c firefox进程存在且仅能存在一个 记录一下 xff0c 以备不时之需 解决方法
  • 论C++类对象赋值

    class Demo public Demo Demo int j cout lt lt 34 Demo int 34 lt lt j lt lt endl this gt i 61 j Demo const Demo amp d cout
  • gnuradio+b210实现FM收音机

    gnuradio 43 b210实现FM收音机 环境介绍FM接收1 Flow Graph2 变量参数 FM发射1 Flow Graph2 变量参数 环境介绍 NameVersiongnuradio3 7 14 0uhd3 15 0 0ubu
  • 图深度学习 Deep Learning on Graph

    深度学习在图上的应用 引言图神经网络图卷积网络卷积操作谱方法Efficiency AspectMultiple Graphs Aspect框架 Readout 操作改进与讨论注意力机制残差和跳跃连接 Residual and Jumping
  • Ubuntu16.04中文输入法安装初战

    最近刚给笔记本装了Ubuntu 43 win10双系统 xff0c 但是ubuntu16 04没有自带中文输入法 xff0c 所以经过网上的一些经验搜索整合 xff0c 分享一下安装中文输入法的心得 本文主要介绍了谷歌拼音跟ibus中文输入
  • GoDaddy与Namecheap域名注册商对比分析

    默默鸟已经有几天没有更新博客 xff0c 博客更新的少是因为我必须在更新之前想好了围绕博客的主题更新 xff0c 而不是想到哪个就更新哪些内容 xff0c 一来可能不符合博客的中心 xff0c 二来对于用户群也有影响 xff0c 同事显得不
  • ubuntu18安装vnc远程桌面服务

    安装 vnc4server xff0c xfce4 sudo apt install vnc4server xfce4 xfce4 goodies 安装完成后配置VNC登录密码 vncpasswd 启动VNC server vncserve
  • 国内国外常用的10个云服务器可视化管理面板

    如今无论是搭建网站 xff0c 还是部署小程序 xff0c 甚至一些企业应用都会用到云服务求或者独立服务器 对于很多希望利用网站 网络创业的 xff0c 也会用到服务器 xff0c 不过在使用服务器过程中 xff0c 我们对于服务器环境的配
  • 几个Windows强力卸载工具软件推荐

    对于我们有在使用Windows系统的时候 xff0c 是不是会主动或者被动的安装一些软件和插件工具 殊不知日积月累之后 xff0c 系统中的软件会越来越多 xff0c 甚至有很多我们安装几个月甚至几年都不会用到的 这些软件 xff0c 其实
  • 几款值得选的SSH客户端软件

    对于服务器运维工作来说 xff0c 我们少不了SSH远程客户端管理工具 我们在用哪款呢 xff1f 比如常见用的包括PuTTY XShell WindTerm等 xff0c 有很多的付费或者免费的 xff0c 既然有这么多免费且好用的为什么
  • 原生态Ubuntu部署LAMP环境 PHP8.1+MySQL+Apache

    如果我们部署WEB环境用于网站项目 xff0c 我们还是建议用成熟的一键包或者可视化面板这种 xff0c 毕竟软件的部署和后续的运维方便很多 但是 xff0c 如果我们有需要学习Linux环境的原理 xff0c 那还是要学会原生态部署软件的
  • Passwork适合多人协作团队的自建密码管理器

    如今互联网已经深入我们的工作和生活中 xff0c 从办公 购物 学习每天都会用到各种网站平台 各种APP客户端 各种软件账户 xff0c 这就离不开对各个平台账户的管理 我们应该也知道 xff0c 账户的安全是至关重要的 xff0c 如果账
  • 完整利用Rsync实现服务器/网站数据增量同步备份

    我们在选择VPS 服务器架设项目之后 xff0c 所有的项目 网站数据都需要我们自行备份和维护 xff0c 即便有些服务商有提供管理型服务器 xff0c 但是数据自行备份和管理才是较为靠谱的 无论是网站 xff0c 还是其他项目 xff0c
  • 整理Nginx/Apache服务器配置HTTPS SSL证书示范教程

    昨天我们看到百度发布 34 百度烽火算法升级 34 xff0c 提到网站如果被劫持或者拦截可能会降低网站的权重和排名等问题 这使得我们网站需要使用HTTPS SSL证书来减少被拦截劫持的风险 其实在早些时候我们已经看到很多浏览器都强制要求网