<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        .Net Core和jexus配置HTTPS服務方法

        來源:懂視網 責編:小采 時間:2020-11-27 22:35:04
        文檔

        .Net Core和jexus配置HTTPS服務方法

        .Net Core和jexus配置HTTPS服務方法:花了幾天時間,看了好多篇博客,終于搞定了網站的HTTPS服務,借此寫篇博客,來讓有需要的朋友少走彎路。 一、環境介紹 1、Linux下在Docker容器中部署好了一個網站,該網站需要通過外部提供程序訪問微軟的登錄平臺,利用的是OAuth2.0協議,因此要求必須要使用
        推薦度:
        導讀.Net Core和jexus配置HTTPS服務方法:花了幾天時間,看了好多篇博客,終于搞定了網站的HTTPS服務,借此寫篇博客,來讓有需要的朋友少走彎路。 一、環境介紹 1、Linux下在Docker容器中部署好了一個網站,該網站需要通過外部提供程序訪問微軟的登錄平臺,利用的是OAuth2.0協議,因此要求必須要使用

        花了幾天時間,看了好多篇博客,終于搞定了網站的HTTPS服務,借此寫篇博客,來讓有需要的朋友少走彎路。

        一、環境介紹

        1、Linux下在Docker容器中部署好了一個網站,該網站需要通過外部提供程序訪問微軟的登錄平臺,利用的是OAuth2.0協議,因此要求必須要使用SSL服務,也使得網站必須要加入HTTPS服務。

          

        2、容器外,宿主機上通過jexus做端口轉發。(本沒打算用到jexus,但是看到情形不對,還是必須把它拉入進來)

        3、HTTPS服務需要證書,通過在騰訊云上申請免費證書https://console.cloud.tencent.com/ssl,一天之內便可申請到,注意了!!!,假如說使用的和我一樣也是用的jexus,而騰訊云提供的證書下載包里面沒有jexus,只有IIS、Nginx、Apache..等等,

        我們是可以直接利用Nginx的兩個文件。第一個是crt文件,第二個是key文件。

        假如說你需要pfx結尾的文件那么可以通過這兩個文件進行合成生成pfx文件可以通過命令:

        openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt

        將其中文件名更改為你的文件名即可。又或者度娘上也有將內容粘貼進去然后自動生成的網站,不要敲命令的,這就不再提供網站了。

        二、全配置

        首先,我想說下,我在jexus中配置了HTTPS服務,在Docker容器中運行的網站中也配置好了HTTPS服務。如同此圖:

          

        可能有人會想,為什么都要配置,只配置jexus就足夠了啊。當然,配置jexus是足夠了,但是我的網站里面如果需要調用比如OAuth2.0協議支持的網站時,回掉地址總是會是用的HTTP協議,開發環境下沒問題,但是一旦弄上域名或是IP地址訪問,那么生成的就是HTTP的協議了。

        具體就是在此處.我通過配置好了微軟的外部提供程序,當點擊按鈕后將跳轉到微軟登錄頁面:

        跳轉后,當前登錄頁面的url中寫明了一些參數是我們想要的,比如redirect_url,此時我已經配置好了網站上的HTTPS協議,在沒有配上時,該處的redirect_url一直都是HTTP的

        好了,開始配置HTTPS服務:

        1、在.Net Core中配置HTTPS協議

        首先,這里可能要搞清楚一下,jexus和網站之間的請求轉發,這也是我想弄清楚的一個問題,jexus端口轉發請求的時候是不是還是HTTPS協議的,還是說只是請求轉發,到了網站中又變成了HTTP了。就如這個模型,在jexus轉發之后,進入kestrel后是HTTP協議的還是HTTPS協議的? 希望各位博友幫忙,我沒有找到參考資料。

            

        我能做的就是在我嘗試在kestrel中不配置HTTPS協議下,訪問網站雖然也是能夠成功的,但是當通過微軟的第三方登錄成功后回調地址訪問網站時,便會是使用的HTTP協議,也就會出問題,與OAuth要求使用SSL的服務必須使用HTTPS協議相矛盾,也就促使著我必須要在kestrel中配置好HTTPS協議。具體配置如下:

        在Program.cs文件中,加入前面所合成的pfx文件,即可,這種情形下,要求我的每一個容器中的運行的網站都需要使用證書了。同時注意,在此處不能夠使用.UseUrls("https:"http://:443")來設置HTTPS服務,在沒有配置.UseKestrel()下是會報錯的,望注意!

        using System;
        using System.Collections.Generic;
        using System.IO;
        using System.Linq;
        using System.Threading.Tasks;
        using Microsoft.AspNetCore;
        using Microsoft.AspNetCore.Hosting;
        using Microsoft.Extensions.Configuration;
        using Microsoft.Extensions.Logging;
        using Microsoft.AspNetCore.Server.Kestrel.Core;
        using System.Security.Cryptography.X509Certificates;
        using System.Net;
        using Identity.Api.Web.Core;
        
        namespace Identity.Api
        {
         public class Program
         {
         public static void Main(string[] args)
         {
         BuildWebHost(args).Run();
         }
        
         public static IWebHost BuildWebHost(string[] args) =>
         WebHost.CreateDefaultBuilder(args)
         //.UseJexusIntegration()
         .UseKestrel(options =>
         {
         options.Listen(IPAddress.Any, 1101, listenOptions =>
         {
         var certificate = new X509Certificate2("hdshopserver.pfx", "你的證書密碼");
         listenOptions.UseHttps(certificate);
         });
         })
         .UseStartup<Startup>()
         .Build();
         }
        }

        2、在jexus上配置HTTPS協議(假如說用的不是jexus或是沒有用到jexus,則可跳過此處)

        首先,通過命令查看到我的jexus版本是5.8.3,是支持HTTPS的了。

          

        進入你的jexus配置文件夾,我用圖形表示更加直觀點:

        具體的jexus的各種文件功能不再介紹,此處只針對配置證書服務,需要查看可看基于Jexus-5.6.3使用詳解

        我們可以在jws.conf中配置整個服務器上的所有網站都令其使用HTTPS服務:

        也可在siteconf中配置你需要的單獨的網站中使用HTTPS服務:

        通過UseHttps=true和配置好前面所提到的兩個文件,jexus的HTTPS服務算是搞定了.然后可以通過https://域名進行查看,假如說不能成功,可以在jexus文件夾下的log文件中查看信息,這很關鍵!!。

        在jexus的配置上還需要感謝@無語1994的幫助,剛配置時,用的是自己在服務器上通過命令生成的證書,不管怎樣,都不能看到到網站頁面,然后通過使用騰訊云上的證書,擺平!

        通過兩次配置后我的網站便可使用HTTPS服務了,也因此,在使用微軟的外部提供程序上登錄微軟第三方頁面也就沒問題了,可以正常回調顯示了。

        如想查看,可以訪問https://www.hdshop.xyz:1101/。通過登錄按鈕調用微軟登錄頁面。

        三、個人總結

        在配置方面,走了不少彎路,首先是只是想到在網站中進行配置,但是嘗試起來發現,當我將jexus關閉后sh /usr/jexus/jws stop,也就是直接將網站面向外網,可以進行訪問成功。

          

        此時,每個容器中的網站都各自配置了HTTPS服務,但是想到這里便會感覺每個網站都配置的話,有點冗余,那么直接在jexus上配置呢。當然可以,

         

        通過在jexus上配置完畢,去掉每個網站上各自配置的HTTPS服務,假如說一個網站不需要使用到諸如OAuth、微信支付等等要求安全性比較高的,那么jexus上配置HTTPS服務也就足夠了,但是在使用到那些安全性要求后,自身網站也要配置起HTTPS服務。也就因此,我被困了好多天,最終的效果是:

         

        四、留下問題求助

        第一個問題便是在之前提到的那張圖中:

        jexus和kestrel之間仍然是以什么方式進行傳遞,我看到是利用的tcp,但是舉個例子,用戶訪問的URL是https://xxx.com進入jexus,服務轉交到kestrel,在kestrel中接收的是https://xxx.com還是http://xxx.com,還是說其他的方式。

        第二個問題便是在配置過程中,看到微軟提供的HTTP重定向到HTTPS的解決方案,意思是說我通過http訪問后會將http的訪問請求轉變成https的訪問請求嗎?也就是說支持http和https的兩種方式,是否?

        以上這篇.Net Core和jexus配置HTTPS服務方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        .Net Core和jexus配置HTTPS服務方法

        .Net Core和jexus配置HTTPS服務方法:花了幾天時間,看了好多篇博客,終于搞定了網站的HTTPS服務,借此寫篇博客,來讓有需要的朋友少走彎路。 一、環境介紹 1、Linux下在Docker容器中部署好了一個網站,該網站需要通過外部提供程序訪問微軟的登錄平臺,利用的是OAuth2.0協議,因此要求必須要使用
        推薦度:
        標簽: ssl net https
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产亚洲欧美在线观看| 日本中文字幕免费看| 久久免费美女视频| 久久精品国产精品亚洲艾草网美妙| 国产免费人成在线视频| 亚洲香蕉久久一区二区| 成人看的午夜免费毛片| 久久久久亚洲精品男人的天堂| 亚洲AV日韩综合一区| 国产高清在线免费视频| 78成人精品电影在线播放日韩精品电影一区亚洲 | 免费一级全黄少妇性色生活片 | 91精品导航在线网址免费| 亚洲电影免费在线观看| 足恋玩丝袜脚视频免费网站| 日本免费高清一本视频| 亚洲成av人在线观看网站| 国产美女被遭强高潮免费网站| 亚洲日产乱码一二三区别| 午夜dj在线观看免费视频| 久久无码av亚洲精品色午夜| 全亚洲最新黄色特级网站| 精品无码一级毛片免费视频观看| 亚洲日韩精品射精日| 亚洲免费在线播放| 亚洲一区二区三区亚瑟| a级成人毛片免费图片| 国产91在线免费| 一级毛片aa高清免费观看| 亚洲国产无套无码av电影| 久久免费的精品国产V∧| 日本亚洲精品色婷婷在线影院 | 色噜噜AV亚洲色一区二区| 337p日本欧洲亚洲大胆人人| 四虎永久精品免费观看| 99精品视频在线观看免费| 色偷偷女男人的天堂亚洲网| 亚洲国产精品专区在线观看| 久久一本岛在免费线观看2020| 2020久久精品亚洲热综合一本 | 久久精品成人免费观看|