【实战 Ids4】║ 给授权服务器加个锁——HTTPS配置

在上篇文章《【实战 Ids4】║客户端、服务端、授权中心全线打通!》中,我们正式的将三站打通,发布过后,有小伙伴反馈,可能Nginx对配置HTTPS安全协议有点儿问题,我也就半夜趁着没人打扰,疯狂的研究一波,发现其实挺简单的,不知道是不是我没有理解小伙伴提出的疑问点。

好了,马上开始。

其实关于配置HTTPS,主要的就是证书的问题,证书呢,又是公钥和私钥的方案,剩下的就是配置了,归根结底,只要我们搞到证书就行了,这里常见的是两种方案:

1、OpenSSL本地安装;(不推荐)

2、云平台免费申请SSL证书(本文讲的是腾讯云);

那我就简单的说说这两种方式吧。

OpenSSL本地安装

这种方案呢,主要是如果自己没有云服务平台,没有其他的信息,或者不想麻烦,只是想本地测试一波,可以简单的这么搞搞。

1、安装OpenSSL工具

官网下载地址:https://slproweb.com/products/Win32OpenSSL.html

2、解压安装证书

解压安装完成后,找到安装目录,去bin文件夹下,执行命令,如果你想使用命令,需要配置环境变量,但是如果不想配置,就直接用powershell来运行exe即可:

.\openssl.exe req -newkey rsa:2048 -nodes -keyout laozhang.key -x509 -days 365 -out laozhang.cer

然后会提示让你输入一些内容,自己配置一下就行,比如我的:

这里生成了一个.key文件,还有一个.cer文件,具体的就是私钥和公钥,自己可以搜索下资料,这里不多说。

3、Nginx配置443

现在我们有了证书,就可以配置HTTPS转发了,如果你使用过IIS的肯定都知道,我们只需要配置一下443端口即可,Nginx也是如何,直接上代码:

server {listen         443 ssl;        #443端口server_name  ids.neters.club;  #网站域名,和80端口保持一致ssl             on;ssl_certificate laozhang.cer;       #证书公钥ssl_certificate_key  laozhang.key;  #证书私钥ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;ssl_prefer_server_ciphers  on;location / {proxy_pass http://ids.neters.club;proxy_redirect  off;     proxy_set_header        Host    $http_host;     proxy_set_header        X-Real-IP       $remote_addr;     proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header   Cookie $http_cookie;#proxy_cookie_pathchunked_transfer_encoding       off;           }}

基本的配置方式和80很像,前提是你得配置好80端口,然后再配置443端口。

然后我们重启nginx,查看效果.

这里要说一下,这个证书是正确的,但是却是无效的,如果你有一定的计算机网络的经验呢,就知道了,不仅仅是证书正确就行了,还需要进行校验,比如常见的是:

1、文件校验;

2、邮件校验;

3、DNS校验;

刚刚咱们创建的,如果配置好后,我们虽然可以可以访问https,但是连接是不安全的,因为没有校验:

那这个时候怎么办呢,既然我们有域名,肯定就有对应的DNS运行商,让他们给我配置校验就好了,直接我们就在云平台申请即可,我说下我在腾讯云的申请。

云平台申请SSL证书

过程很简单,我们只需要取ssl页面,申请个免费的即可:

然后配置上我们的域名,和校验方式,

等待官方自动校验审核,大概0.5~1个小时左右,就通过了,我们下载下来可以看到,官方很人性化的给我们提供了多个服务器版本的文件,我们打开Nginx就可以看到两个文件了:

你可能会好奇,为啥是.crt文件,上边不是.cer文件么,这个可以问问计算机网络老师。

然后我们把文件提交到服务器,重启下Nginx,就看到了绿色的了:

三方调整请求域名

这个就是很简单的,只需要把之前的域名改成https的即可:

Blog.IdentityServer:

Blog.Core:

Blog.Admin:

强制转换HTTPS

如果说,你不想用http了,可以配置强制转到https上,nginx还是很强大的,我测试过可以,无论是重写的方式,还是return的方式,但是目前不想强制转换,大家自己试试就知道了。

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

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

相关文章

快速幂 a*b%c

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 在CSDN上传博客方便复习。 //wecccccccc //2020.12.30 #include <iostream> using namespace std; typedef long long int ll;ll fast_power(ll a, ll b, ll c) {ll ans 1;a % c;//防止一开始输入的值过…

thinkphp 助手函数url不生成https_如何用ThinkPHP框架写一个快递查询接口

ThinkPHP是php程序员们经常使用的框架之一&#xff0c;运用框架来开发网站无疑减轻了我们代码量&#xff0c;加快了我们的开发速度&#xff0c;框架底层封装的方法和函数使用起来简直不能太爽。今天给大家总结一个小案例&#xff0c;如何实现一个快递查询的接口。所谓接口&…

64位整数乘法

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 上传博客方便复习。 //Wecccccccc //2020.12.30 #include <iostream> using namespace std; typedef unsigned long long int ull;int main() {ull a, b, c;cin >> a >> b >> c;ull ans…

分布式锁的实现与探索

源宝导读&#xff1a;大型的信息化系统对数据准确性的要求很高&#xff0c;所以经常会使用事务、锁、队列等技术&#xff0c;保障高并发下的数据一致性问题。本文将讨论在分布式部署模式下&#xff0c;如何利用锁机制保证业务数据准确的技术探索与实践。一、背景分布式场景下的…

matlab 角度转四元数_基于Matlab的机械臂路径规划

什么是 trajectory(路径)规划中文路径在英语中可能有两种翻译&#xff1a;1. path2. trajectory首先告诉大家&#xff0c;我们所说的“路径”是后者——trajectory。我们看一下这两种“路径”在机械臂的世界里有什么区别。设想机械臂的 end-effector 要从 A 点运动到 B 点&…

ASP.NET Core 中间件的几种实现方式

前言ASP.NET Core 中 HTTP 管道使用中间件组合处理的方式,换句人话来说,对于写代码的人而言,一切皆中间件.业务逻辑/数据访问/等等一切都需要以中间件的方式来呈现.那么我们必须学会如何实现自定义中间件 这里划重点,必考这里我们介绍下中间件的几种实现方式...匿名函数通常新建…

cookies默认过期时间_「图」Chrome Canary新版已启动“增强版cookies控制”预览测试...

近日谷歌承诺将于今年晚些时候在Chrome浏览器启动“增强版cookies控制”的预览测试。在今年的I/O开发者大会上&#xff0c;谷歌宣布携手Mozilla等开发者耗时3年多时间制定了名为“same-site cookies”的IETF 标准&#xff0c;而该功能就是建立在same-site cookies的基础上&…

【原创】StackOverflow 20万关注的问题:如何实现异步Task超时的处理?

前文传送门 dotNET开发系列收藏&#xff01;推荐12个超实用的Visual Studio插件程序员&#xff1a;这10种糟糕的程序命名&#xff0c;你遇到过几个&#xff1f;使用Vistual Studio N年&#xff0c;推荐2个异常捕获的技巧面试官&#xff1a;你连RESTful都不知道我怎么敢要你&…

C# WPF 表单更改提示

微信公众号&#xff1a;Dotnet9&#xff0c;网站&#xff1a;Dotnet9&#xff0c;问题或建议&#xff0c;请网站留言&#xff1b; 如果您觉得Dotnet9对您有帮助&#xff0c;欢迎赞赏Dotnet9.com内容目录实现效果业务场景编码实现本文参考源码下载1.实现效果未做修改的表单展示 …

XRPC接口双向调用

一般远程接口调用的服务都是基于客户端主动调用服务端&#xff0c;由服务端来提供相关的接口服务&#xff1b;在新版本的XRPC中引入了一个新的功能&#xff0c;即接口双向通讯&#xff0c;组件提供服务创建客户会话的接口代理并调用客户提供的接口服务。接下来介绍如何通过XRPC…

电机控制pid_微电机控制如此简单,揭秘微电机调速的控制,PID控制之双环调速...

​​在微型电机应用中&#xff0c;由于各种应用产品的不同会用到不同的调速方式&#xff0c;在调速中可能会遇到各种不同的问题&#xff0c;下面天孚电机对最近客户对微电机PID调速遇到的双环控制问题来讲一讲。智能小车TFMOTOR-N30减速电机​客户是做智能小车的采用的是tfn30微…

简单的01背包和完全背包

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 上传博客方便复习。 01背包&#xff08;每种物品只能使用一次&#xff09;&#xff1a; //Wecccccccc //2020.12.31 #include <iostream> using namespace std; int n,m,v[1010],w[1010],dp[1010]; int…

图片上传组件_配置Django-TinyMCE组件 实现上传图片功能

Django自带的Admin后台&#xff0c;好用&#xff0c;TinyMCE作为富文本编辑器&#xff0c;也蛮好用的&#xff0c;这两者结合起来在做博客的时候很方便&#xff08;当然博客可能更适合用Markdown来写&#xff09;&#xff0c;但是Django-TinyMCE这个组件默认没有图片上传功能的…

.NET Core 3.1之深入源码理解HealthCheck(二)

写在前面前文讨论了HealthCheck的理论部分&#xff0c;本文将讨论有关HealthCheck的应用内容。可以监视内存、磁盘和其他物理服务器资源的使用情况来了解是否处于正常状态。运行状况检查可以测试应用的依赖项&#xff08;如数据库和外部服务终结点&#xff09;以确认是否可用和…

多重背包问题以及二进制优化

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 上传博客方便复习。 多重背包问题&#xff08;N< 100): //Wecccccccc //2020.12.31 #include <iostream> using namespace std; int n,m,dp[110]; int main() {cin>>n>>m;for(int i0;i&…

UnitTest in .NET(Part 2)

Photo &#xff1a;Unit Test in Visual Studio文 | Edison Zhou上一篇我们学习基本的单元测试基础知识和入门实例。但是&#xff0c;如果我们要测试的方法依赖于一个外部资源&#xff0c;如文件系统、数据库、Web服务或者其他难以控制的东西&#xff0c;那又该如何编写测试呢&…

二维费用的背包问题

2020.12.30开始学习AcWing算法《算法竞赛进阶指南》&#xff1b; 上传博客方便复习。 //Wecccccccc //2020.12.31 #include <iostream> using namespace std; int n, v, m, dp[120][120];int main() {cin >> n >> v >> m;for (int i 0; i < n; i) …

UnitTest in .NET(Part 1)

Photo &#xff1a;Unit Test in Visual Studio文 | Edison Zhou2015年看了Roy Osherove的《单元测试的艺术》一书&#xff0c;颇有收获。因此&#xff0c;我在当时就将我的学习笔记过程记录了下来&#xff0c;并分为四个部分分享成文&#xff0c;与各位Share。本篇作为入门&am…

找出一个字符串中出现次数最多的字_Day34:第一个只出现一次的字符

剑指Offer_编程题——第一个只出现一次的字符题目描述&#xff1a;在一个字符串(0<字符串长度<10000&#xff0c;全部由字母组成)中找到第一个只出现一次的字符&#xff0c;并返回它的位置&#xff0c;如果没有则返回-1&#xff0c;需要区分大小写。(从0开始计数)。具体要…

2020 WTM 继续向前

WTM3.1 正式发布在过去的2019年&#xff0c;承蒙各位的厚爱&#xff0c;WTM从零开始一年的时间在GitHub上收获了将近1600星&#xff0c;nuget上的下载量累计超过10万。WTM所坚持的低码开发&#xff0c;快速实现的理念受到了越来越多.netcore使用者的喜爱。在2020年&#xff0c;…