亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker部署nginx并且實現(xiàn)https的方法步驟

 更新時間:2024年07月10日 11:10:42   作者:白開水~不加糖  
啟用HTTPS可以提高網(wǎng)站的安全性、可信度,同時符合法規(guī)要求,本文主要介紹了docker部署nginx并且實現(xiàn)https的方法步驟,具有一定的參考價值,感興趣的可以了解一下

一、Docker中啟用HTTPS有幾個重要的原因

  • 安全性:HTTPS通過加密數(shù)據(jù)傳輸,可以確保數(shù)據(jù)在傳輸過程中不被竊 聽或篡改。這對于保護敏感信息(如用戶憑據(jù)、支付信息等)的傳輸至關(guān)重要。
  • 數(shù)據(jù)完整性:HTTPS可以驗證數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中沒有被篡改或損壞。
  • 信任度:使用HTTPS可以增強用戶對網(wǎng)站的信任度,因為瀏覽器通常會顯示安全的鎖圖標或綠色地址欄來指示連接是安全的。
  • SEO優(yōu)化:搜索引擎(如Google)通常會更喜歡使用HTTPS的網(wǎng)站,并將其排名更靠前。因此,啟用HTTPS可以對網(wǎng)站的搜索引擎優(yōu)化(SEO)產(chǎn)生積極影響。
  • 合規(guī)性:一些法規(guī)和標準要求網(wǎng)站必須使用HTTPS來保護用戶數(shù)據(jù),如GDPR(歐盟一般數(shù)據(jù)保護條例)。

總的來說,啟用HTTPS可以提高網(wǎng)站的安全性、可信度,同時符合法規(guī)要求,因此在Docker中啟用HTTPS是一個很好的實踐。

二、https介紹

Web網(wǎng)站的登錄頁面都是使用https加密傳輸?shù)模用軘?shù)據(jù)以保障數(shù)據(jù)的安全,HTTPS能夠加密信息,以免敏感信息被第三方獲取,所以很多銀行網(wǎng)站或電子郵箱等等安全級別較高的服務(wù)都會采用HTTPS協(xié)議,HTTPS其實是有兩部分組成:HTTP + SSL / TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務(wù)端和客戶端的信息傳輸都會通過TLS進行加密,所以傳輸?shù)臄?shù)據(jù)都是加密后的數(shù)據(jù)。

三、https過程

客戶端發(fā)起HTTPS請求

用戶在瀏覽器里輸入一個 https 網(wǎng)址,然后連接到服務(wù)器的 443 端口

  • 服務(wù)端的配置 采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請,區(qū)別就是自己頒發(fā)的證書需要客戶端驗證通過,才可以繼續(xù)訪問,而使用受信任的公司申請的證書則不會彈出提示頁面。這套證書其實就是一對公鑰和私鑰
  • 傳送服務(wù)器的證書給客戶端 證書里其實就是公鑰,并且還包含了很多信息,如證書的頒發(fā)機構(gòu),過期時間等等
  • 客戶端解析驗證服務(wù)器證書 這部分工作是由客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如:頒發(fā)機構(gòu),過期時間等等,如果發(fā)現(xiàn)異常,則會彈出一個警告框提示證書存在問題。如果證書沒有問題,那么就生成一個隨機值,然后用證書中公鑰對該隨機值進行非對稱加密
  • 客戶端將加密信息傳送服務(wù)器 這部分傳送的是用證書加密后的隨機值,目的就是讓服務(wù)端得到這個隨機值,以后客戶端和服務(wù)端的通信就可以通過這個隨機值來進行加感解密了
  • 服務(wù)端解密信息 服務(wù)端將客戶端發(fā)送過來的加密信息用服務(wù)器私鑰解密后,得到了客戶端傳過來的隨機值
  • 服務(wù)器加密信息并發(fā)送信息 服務(wù)器將數(shù)據(jù)利用隨機值進行對稱加密,再發(fā)送給客戶端
  • 客戶端接收并解密信息 客戶端用之前生成的隨機值解密服務(wù)段傳過來的數(shù)據(jù),于是獲取了解密后的內(nèi)容

四、安裝docker-20.10.18

systemctl stop firewalld.service
setenforce 0

#安裝依賴包
yum install -y yum-utils device-mapper-persistent-data lvm2 
-----------------------------------------------------------------------------------------
yum-utils:提供了 yum-config-manager 工具。
device mapper: 是Linux內(nèi)核中支持邏輯卷管理的通用設(shè)備映射機制,它為實現(xiàn)用于存儲資源管理的塊設(shè)備驅(qū)動提供了一個高度模塊化的內(nèi)核架構(gòu)。
device mapper存儲驅(qū)動程序需要 device-mapper-persistent-data 和 lvm2。
-----------------------------------------------------------------------------------------

#設(shè)置阿里云鏡像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

#安裝 Docker-CE并設(shè)置為開機自動啟動
yum install -y docker-ce-20.10.18 docker-ce-cli containerd.io  ##安裝20版本

systemctl start docker.service
systemctl enable docker.service
-----------------------------------------------------------------------------------------
安裝好的Docker系統(tǒng)有兩個程序,Docker服務(wù)端和Docker客戶端。其中Docker服務(wù)端是一個服務(wù)進程,負責管理所有容器。 Docker客戶端則扮演著Docker服務(wù)端的遠程控制器,可以用來控制Docker的服務(wù)端進程。大部分情況下Docker服務(wù)端和客戶端運行在一臺機器上。
-----------------------------------------------------------------------------------------

docker version   #查看 docker 版本信息

五、如何獲取證書

  • 在阿里云、華為云、騰訊云等云服務(wù)商那里申請一年有效期的免費證書或者購買證書
  • 在本地使用 openssl、mkcert、cfssl、certbot(Let's Encrypt)的工具生成本地私鑰證書

通過阿里云獲取證書

https://www.aliyun.com/product/cas?userCode=r3yteowb

六、docker部署nginx并且實現(xiàn)https

6.1準備證書

cd /opt
--------------------------------------
vim certificate.sh

CA_SUBJECT="/O=kgc/CN=ca.kgc.com"
SUBJECT="/C=CN/ST=js/L=nj/O=kgc/CN=www.kgc.com"
SERIAL=34
EXPIRE=202002
FILE=kgc.com

openssl req  -x509 -newkey rsa:2048 -subj $CA_SUBJECT -keyout ca.key -nodes -days 202002 -out ca.crt

openssl req -newkey rsa:2048 -nodes -keyout ${FILE}.key  -subj $SUBJECT -out ${FILE}.csr

openssl x509 -req -in ${FILE}.csr  -CA ca.crt -CAkey ca.key -set_serial $SERIAL  -days $EXPIRE -out ${
FILE}.crt

chmod 600 ${FILE}.key ca.key

bash certificate.sh 

#執(zhí)行該腳本后執(zhí)行后會生成ca.crt  ca.key  certificate.sh  kgc.com.crt  kgc.com.csr  kgc.com.key 這幾個文件,需要對其進行處理   
#  kgc.com.crt(購買者)   ca.crt(b頒發(fā)者)   www.kgc.com.key(驗證鑰匙)


cat kgc.com.crt ca.crt > www.kgc.com.crt
mv kgc.com.key www.kgc.com.key

#在/mnt下創(chuàng)建一個cert的文件夾,用于存放證書文件
[root@localhost opt]#hostnamectl set-hostname zzz
[root@localhost opt]#su
[root@zzz opt]#mkdir /mnt/cert
[root@zzz opt]#mv /opt/www.kgc.com.crt /opt/www.kgc.com.key /mnt/cert
[root@zzz opt]#
[root@zzz opt]#ll /mnt/cert
總用量 8
-rw-r--r-- 1 root root 2201 5月   4 13:59 www.kgc.com.crt
-rw------- 1 root root 1704 5月   4 13:56 www.kgc.com.key

6.2準備nginx.conf 和 index.html文件

[root@zzz opt]#cd /mnt
[root@zzz mnt]#ls
cert
[root@zzz mnt]#echo "hello nanjing" > index.html
[root@zzz mnt]#ls
cert  index.html
[root@zzz mnt]#cat index.html 
hello nanjing
[root@zzz mnt]#rz -E
rz waiting to receive.
[root@zzz mnt]#ls
cert  index.html  nginx(1).conf
[root@zzz mnt]#mv nginx\(1\).conf nginx.conf
[root@zzz mnt]#ls
cert  index.html  nginx.conf
[root@zzz mnt]#pwd
/mnt
[root@zzz mnt]#
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;


events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;


    server {
        listen       80;
        listen 443 ssl;   
        ssl_certificate /mnt/www.kgc.com.crt;
        ssl_certificate_key /mnt/www.kgc.com.key;
        ssl_session_cache shared:sslcache:20m;
        ssl_session_timeout 10m;
        server_name www.kgc.com;
        root     /usr/share/nginx/html;


        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }
}

6.3生成容器

[root@zzz mnt]#docker run -itd -p 8080:80 -p 8082:443 -v /mnt/nginx.conf:/etc/nginx/nginx.conf -v /mnt/index.html:/usr/share/nginx/html/index.html -v /mnt/cert/:/mnt/ --name nginx nginx:latest 
48944bdf4b31909ee2fc37c3acd16bf1fd4f804f6a00e9a011b9f8a5223657b5
[root@zzz mnt]#docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS                                                                            NAMES
48944bdf4b31   nginx:latest   "/docker-entrypoint.…"   3 seconds ago   Up 2 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp, 0.0.0.0:8082->443/tcp, :::8082->443/tcp   nginx
[root@zzz mnt]#
[root@zzz mnt]#docker images
REPOSITORY                      TAG               IMAGE ID       CREATED       SIZE
nginx                           latest            605c77e624dd   2 years ago   141MB

#生成容器,指定容器內(nèi)80端口映射到本機的8080端口,指定容器內(nèi)443端口映射到本機的8082端口  
#將/mnt/nginx.conf掛載到容器內(nèi)/etc/nginx/nginx.conf下,
#將/mnt/index.html掛載到容器內(nèi)的/usr/share/nginx/html/index.html,將容器內(nèi)的index.html覆蓋掉
#將/mnt/cert掛載到容器內(nèi)的/mnt下,/mnt/cert下的所有文件都會出現(xiàn)在容器的/mnt下
#別名為  nginx  使用 nginx:latest 鏡像生成并啟動

6.4瀏覽器驗證證書

到此這篇關(guān)于docker部署nginx并且實現(xiàn)https的方法步驟的文章就介紹到這了,更多相關(guān)docker部署nginx實現(xiàn)https內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Dockerfile中COPY文件的使用

    關(guān)于Dockerfile中COPY文件的使用

    在使用Dockerfile創(chuàng)建鏡像時,如果使用COPY命令需要將文件或文件夾與Dockerfile放在同一目錄下,或者通過-dockerbuild-f指定Dockerfile的完整路徑來解決
    2025-02-02
  • Docker?Compose構(gòu)建Jenkins的實現(xiàn)

    Docker?Compose構(gòu)建Jenkins的實現(xiàn)

    本文主要介紹了Docker?Compose構(gòu)建Jenkins的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • 在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程

    在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程

    這篇文章主要給大家介紹了在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 使用Docker快速運行Firefox并實現(xiàn)遠程訪問本地火狐瀏覽器的詳細過程

    使用Docker快速運行Firefox并實現(xiàn)遠程訪問本地火狐瀏覽器的詳細過程

    文章介紹了如何在Docker中運行Firefox瀏覽器,并通過Cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)遠程訪問,步驟包括部署Firefox、本地訪問、安裝Cpolar、配置公網(wǎng)地址、設(shè)置固定二級子域名等,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-02-02
  • 詳解使用docker 1.12 搭建多主機docker swarm集群

    詳解使用docker 1.12 搭建多主機docker swarm集群

    本篇文章主要介紹了使用docker 1.12 搭建多主機docker swarm集群,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • win10家庭版安裝Docker for Windows

    win10家庭版安裝Docker for Windows

    這篇文章主要介紹了win10家庭版安裝Docker for Windows,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • docker搭建prometheus監(jiān)控教程

    docker搭建prometheus監(jiān)控教程

    這篇文章主要介紹了docker搭建prometheus監(jiān)控教程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • docker-compose安裝mongoDB全過程

    docker-compose安裝mongoDB全過程

    這篇文章主要介紹了docker-compose安裝mongoDB全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 解決docker pull鏡像報錯的問題

    解決docker pull鏡像報錯的問題

    這篇文章主要介紹了解決docker pull鏡像報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docke更新應(yīng)用程序的過程詳解

    Docke更新應(yīng)用程序的過程詳解

    這篇文章主要介紹了Docke更新應(yīng)用程序,在本節(jié)中,您學習了如何更新和重建容器,以及如何停止和刪除容器,需要的朋友可以參考下
    2023-11-11

最新評論