nginx 强制跳转https_通过HTTPS提高你的网站安全性

news/2024/5/22 6:49:17/文章来源:https://blog.csdn.net/weixin_39793708/article/details/110463913

HTTPS简介

HTTPS(Hyper Text Transfer Protocol Over Secure Socket Layer)是以安全为目标的HTTP通道。简单来说,通过HTTP协议访问的网站,在登陆和数据传输过程中所有信息都是没有加密的,黑客很容易就能获取用户访问网站的所有信息。而HTTPS则通过SSL/TLS协议进行加密,来提高网络安全性,即使传输信息被黑客捕捉到,一般来说也很难解析其中的内容。

在通过传统的HTTP方式访问网站时,用户通过浏览器(或者其他客户端)访问服务器,服务器直接返回需要的信息。而在HTTPS方式通讯时,用户信息则需要经过认证服务器来保证加密过得数据被传输到正确的服务器和客户机上。HTTPS需要的认证服务器和加密证书可以由自己颁布给自己,但一般除了局域网和测试目的外,自己颁发的证书往往缺乏权威性,因此,要实现HTTPS方式,首先需要从可以颁发CA证书的权威机构申请证书并且部署在自己网站上。

大部分CA证书都需要付费并且价格不菲,但也有一些可以提供免费证书并且具有同样权威性的机构。最著名的免费CA证书颁发机构要数Let's Encrypt,而阿里云提为个人和小微企业提供免费版的DV证书,阿里提供的DV证书是赛门铁克(Symantec)颁布的,作为昔日杀毒软件巨头的赛门铁克,其认证证书同样具有权威性。

7f931595336bd09a8f742d1a43586f17.png

证书申请与生成

以阿里云CA证书申请流程为例。购买完CA证书之后,可以在阿里云的SSL证书管理页面进行证书申请。申请完的证书将会和相应的域名绑定并配套使用。除了域名之外,申请时还需要输入联系人的联系电话、邮箱等信息,并且选择DNS验证和证书生成的方式。如果你的域名也是在阿里云平台购买的,则可以通过自动验证DNS的方式完成,否则可能需要按照要求添加域名的解析地址(按照系统要求添加一条域名解析记录,或者上传指定内容的文件到网站目录下)。选择CSR证书生成方式的时候,可以采用阿里云系统自动生成的方式以减少错误。除了免费的DV证书外,其他证书的申请还需要提供营业执照等等阿里云平台要求的材料。

2414e57c0496c9dcb0aa39d813f1936b.png
6ea68536e7fd6676b8e928ef8e36628c.png

SSL证书部署

阿里云证书部署文档中针对不同操作系统下不同网络引擎的安装和部署进行了详细说明。在ubuntu下使用apache2服务器时。需要在证书生成界面选择相应的操作系统和软件类型,并且下载对应的证书文件,使用apache2服务器时下载后的文件分为domain.key秘钥文件,domain_public.crt公钥文件和domain_chain.crt秘钥链文件三个(nginx没有秘钥链文件)。如果是下载在本地计算机上而服务器是通过ssh方式命令行管理的。那么可能需要将下载到的文件复制到服务器上。可以通过以下scp命令拷贝到远程目录下,再参考官方文档建立对应的目录并移动到相关目录下:

scp -P portnumber domain_public.crt admin@domain.com:~/  #远程复制sudo mkdir /etc/apache2/cert  #新建文件夹sudo mv ~/domain_public.crt /etc/apache2/cert/domain_public.crt #移动文件sudo a2enmod ssl  #启用apache2的ssl模块sudo ls /etc/apache2/sites-available/ #查看目录下生成的default-ssl.conf文件sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf#也可以在sites-available下修改后通过软连接到sites-enabled中sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/default-ssl.conf

编辑default-ssl.conf文件

  ServerName   #修改为证书绑定的域名www.YourDomainName.comSSLCertificateFile /etc/apache2/cert/www.YourDomainName_public.crt SSLCertificateKeyFile /etc/apache2/cert/www.YourDomainName.com.key SSLCertificateChainFile /etc/apache2/cert/www.YourDomainName.com_chain.crt                         

重载apache2配置文件并重启服务。

sudo /etc/init.d/apache2 force-reloadsudo /etc/init.d/apache2 restart

服务重启后,可以在浏览器中输入https://www.domainname.com 验证证书安装结果,如果浏览器标识栏显示绿色小锁标识,说明证书安装成功。以WordPress博客服务为例,可以进行网站设置,并设置ssl强制跳转以保障网络安全。

设置wordpress安全域名并且强制跳转安全网站

在进行wordpress域名设置前,需要先确认网站可以同时通过http或者https两种方式访问。以免修改后网站无法访问。网站可以显示时,可以在wordpress仪表盘的设置选项中,将原有http修改为https。修改完成后,wordpress可以自动修改相应设置,以便网站可以通过https方式访问。

a0e450556e3ff171f10d9d168e68c0c4.png

针对http不安全的访问方式,可以在网站设置中将其强行跳转到https方式下访问以保证安全。

在sites-enabled/000-default.conf (如果网站用的其他配置文件应该做相应修改)。在和之间添加以下三行,来强制将网站跳转到https下,并重启apache2服务。

RewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]

防火墙与SSL证书期限

https协议默认使用443端口,如果ubuntu系统中启用了防火墙,需要开启该端口。在ubuntu系统中,一般通过ufw防火墙软件管理网络。

sudo apt-get install ufw  #安装防火墙sudo ufw status    #查看防火墙sudo ufw allow 22 #允许22端口,不限制协议sudo ufw allow 80 /tcp #允许80端口通过tcp协议sudo ufw enable #启用防火墙,注意,如果服务器是远程通过ssh管理#一定要在启用防火墙前允许ssh管理端口如22访问,否则可能ssh无法远程登录sudo ufw disable #禁用防火墙

阿里云的免费DV证书和let's encrypt证书默认期限均为一年,在证书到期前需要再次申请并部署证书以保证网站正常访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_722796.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dux社会化分享代码_第五节.外贸网站Google排名优化基本要素分析- 外贸建站前必做的SEO优化分享...

1.分析网站SEO优化排名的因素:外贸老船长经过多年外贸网站SEO优化经验,总结出了影响Google排名的几大因素,概括如下:页面链接指标与特定页面相关的链接指标,如链接数量,链接的相关性,页面链接的可信度和权威…

iis php 无法访问此网站_小技巧:使用appcmd来自动化部署IIS网站

在工作中,时常会花费宝贵的时间做重复的事情,比如使用IIS图形界面部署一个新网站。今天我们就来聊一下如何使用appcmd这一命令行工具来简化这个工作。appcmd简介appcmd,是一个微软操作系统自带的命令行工具,位于系统的C:windowssy…

买空间做网站_如何去做好网站推广

想要通过网站来做推广,首先你要有一个明确的目标。有的网站做推广是要流量,有的网站做推广是要下载量,有的网站做推广是要咨询量。不同的目标都有不同的推广方式。用网站做推广的实施是通过各种具体的方法来实现的,所有用网站做推…

读书笔记ZBLOG网站是否可以打造成10万IP的流量站?[图]

2019独角兽企业重金招聘Python工程师标准>>> 博客是靠博主一点点积累起来的个人网站,主要是记录作者的一些心得和学习笔记,或者写一个主题。但是纵观国内的博客网站,没有发现一个独立博客是做到了10万IP的,这说明了什么…

网站301跳转

源码: protected void Application_BeginRequest(object sender, EventArgs e){HttpApplication application sender as HttpApplication;HttpContext context application.Context;HttpRequest request context.Request;HttpResponse response context.Respons…

4个珍藏已久的宝藏资源网站,提高你的工作效率

相信在日常办公中我们都有几个用了很久的资源网站,如果你不舍得分享出来,那么,小编就先一步啦,下面小编将分享几个珍藏了很久的资源网站,都是陪伴了小编好几年的网站,如果你有更好的分享可以评论区留言哦&a…

如何实现分享网站文章到微信朋友圈时显示指定缩略图或LOGO

当下朋友圈很火,很多企业都将微信朋友圈作为品牌传播的途径,经常会发一些精彩的文章到微信朋友圈供大家自发传播,这样的想法很好,对于优质的内容,网友们也乐于转发与朋友们分享,对品牌宣传与推广确实是有好…

VS2012 + IIS Web 发布(三)——网站发布

VS2012 IIS Web 发布(三)——网站发布 前面的工作如果都做好了,接下了就是真真正正的网站发布了,打开IIS 界面,具体 操作步骤如下: 一、基本的网站添加:1、通过》控制面板》管理工具》启动 ‘Internet信息服务(IIS)管…

ISS 网站发布没数据解决

ISS 网站发布没数据解决 一、背景: ITOO基础部“机构管理”系统在本地电脑发布成功,但是服务器上一直发布出来没 有数据。 以菜鸟的身份家人 ITOO 4.0系统的学习,负责基础部的“机构管理”模块,有一项 任务就是 checkout 机构管…

网站系统的“用户登录”

网站系统的“用户登录” 前言 现在的系统,几乎所有的网站,都有自己的数据库,有自己的VIP区,为了更好的服务 和方便用户,同时也是为了网站本身更好的管理,都有用户模块区。 用户在网站可以注册自己的信息&am…

网站系统---数据库的设计

网站系统---数据库的设计 前言: 每一个完整或系统的的设计初衷,都是为了数据更好的管理和查询,数据库的设计也就是极其的显著和重要。下面是就以例子网上商城的数据库设计聊一聊数据库的设计了。 1 表与表之间视图: 2 数据库设计:…

【网站高性能 1】----机械硬盘 vs 固态硬盘

机械硬盘 vs 固态硬盘前言:今天下午小编看Mybatis视频,敲代码中真的是就快睡着了,就离开座位出去想走走,就去了图书馆,也就是随性拿起一本书《大型网站技术机构》,也即是随性的想随便的翻一翻,可…

【网站高性能 2】----RAID vs HDFS

RAID vs HDFS一,定义:RAID:全称是(Redundant Arrays of independent Disks,DAID)叫磁盘阵列:有独立磁盘构成的具有冗余能力的阵列的意思。raid通俗的说就是有很多价格较合理的磁盘,组成一个容…

【网站高性能 3】----B+树 vs LSM树

B树 vs LSM树 前言: 在前面我们介绍到,性能优化之存储性能优化有将(1)机械硬盘改成固态硬盘,(2)磁盘阵列方式RAID vs HDFS ,今天小编和大家分享一个在存储过程,从数据…

【网站高性能 4】----网站本身测试(一)

【网站高性能 4】----网站本身测试指标(一) 一个好的网站,我们总会有看起来舒服,浏览起来速度给力,这是我们最基本的评判,那么从专业的角度来说,到底有哪些指标呢? 今天小编就带你一…

【网站高性能 5】----网站本身测试(二)

【网站高性能 5】----网站本身测试(二) 前言: 一个网站好不好,从不同的人看起来是不同的。比如我现在是用户,评价一个网站好坏那就很简单,每一次的点击打开,页面反映的快慢就反应出网站的好坏&a…

【网站高性能 6】----大型网站架构演化知多少(一)

架构演化知多少(一) 前言: 在大型网站中的技术挑战主要是来自什么?主要是庞大的用户、高并发的访问和海量的数据,任何简单的业务一旦要处理数以P计的数据和数以亿计的用户,问题就会变的很棘手。那么大型网站…

【网站高性能 7】----大型网站架构演化知多少(二)

大型网站架构演化知多少(二) 前言: 在前一博文:大型网站架构演化知多少(一)中小编介绍了大型网站的架构发展历程,从初级的架构中只有一台服务器到增加服务器,再到使用缓存&am…

你不可不知的网站:stackoverflow

你不可不知道的网站:stackoverflow 序言: 这是个什么东西?” stackoverflow” 是个国外的论坛网站,计算机技术交流社区,基本上我们现在遇到的问题,在那里都可以找到相关的答案,我们中文遇到的问…

asp.net 客户 显示当前日期时间 服务器 日期时间,ASP.net网站上如何显示当前日期...

在之前的论坛文章中,我们介绍了一种通过JS调用的方式去显示网站当前日期的方法,这个方法适用于PHP,ASP网站,但对于ASP.NET的网站却无法正常的调用出当前的时间。对于ASP.NET网站,要想显示当前的时间,可以使…