最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker部署nginx并實現(xiàn)https教程

 更新時間:2025年11月28日 15:11:41   作者:劉艷芬_  
文章介紹了如何使用Docker部署Nginx并實現(xiàn)HTTPS,首先,文章提到了服務(wù)器環(huán)境,然后詳細步驟包括安裝Docker、準備SSL證書、編寫Nginx配置文件和Dockerfile、創(chuàng)建Nginx鏡像并運行容器,最后,文章驗證了Nginx的訪問

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

1、服務(wù)器環(huán)境

[root@liuyanfen12 ~]#systemctl stop firewalld
[root@liuyanfen12 ~]#setenforce 0
#關(guān)閉防火墻和核心防護

2、安裝docker

[root@liuyanfen12 ~]#yum install -y yum-utils device-mapper-persistent-data lvm2
#安裝依賴包
[root@liuyanfen12 ~]#yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#設(shè)置阿里云鏡像源
[root@liuyanfen12 ~]#yum install -y docker-ce docker-ce-cli containerd.io
#安裝Docker-CE(社區(qū)版)
[root@liuyanfen12 ~]#systemctl enable --now docker.service
#開機自啟并立即啟動
[root@liuyanfen12 ~]#systemctl status docker.service
#查看狀態(tài)

3、準備證書

[root@liuyanfen12 ~]#mkdir /opt/nginx -p
#創(chuàng)建目錄
[root@liuyanfen12 ~]#cd /opt/nginx/
#切換
[root@liuyanfen12 nginx]#ls
[root@liuyanfen12 nginx]#vim certificate.sh
#編輯證書腳本
CA_SUBJECT="/O=luck/CN=ca.luck.com"
SUBJECT="/C=CN/ST=js/L=nj/O=luck/CN=www.luck.com"
SERIAL=34
EXPIRE=202002
FILE=luck.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
--------------------------------------------------------------------------------------------------------
#openssl req  -x509 -newkey rsa:2048 -subj $CA_SUBJECT -keyout ca.key -nodes -days 202002 -out ca.crt
-x509: 生成自簽名的證書,而不是生成 CSR(證書簽名請求)。
-newkey rsa:2048: 使用 RSA 算法生成一個新的密鑰對,密鑰長度為2048位。
-subj $CA_SUBJECT: 指定證書的主體信息,這里是定義的 CA 主體信息。
-keyout ca.key: 指定生成的私鑰文件名為 ca.key。
-nodes: 創(chuàng)建的私鑰不加密,即沒有密碼保護。
-days $EXPIRE: 設(shè)置證書有效期,這里是到2020年2月。
-out ca.crt: 指定生成的自簽名CA證書文件名為 ca.crt
--------------------------------------------------------------------------------------------------------
#openssl req -newkey rsa:2048 -nodes -keyout ${FILE}.key  -subj $SUBJECT -out ${FILE}.csr
-newkey rsa:2048: 同上,創(chuàng)建一個新的RSA密鑰對。
-keyout ${FILE}.key: 生成的服務(wù)器私鑰文件名為 ${FILE}.key,此處為 kgc.com.key。
-subj $SUBJECT: 指定服務(wù)器證書的主體信息。
-out ${FILE}.csr: 生成的證書簽名請求文件名為 ${FILE}.csr,此處為 kgc.com.csr。
--------------------------------------------------------------------------------------------------------
#openssl x509 -req -in ${FILE}.csr  -CA ca.crt -CAkey ca.key -set_serial $SERIAL  -days $EXPIRE -out
-req: 表明接下來的操作是基于一個證書請求文件。
-in ${FILE}.csr: 指定要使用的證書請求文件,即之前生成的 kgc.com.csr。
-CA ca.crt: 指定簽發(fā)證書的CA證書文件,即第一步生成的 ca.crt。
-CAkey ca.key: 指定CA的私鑰文件,用于簽署新的證書。
-set_serial $SERIAL: 指定新證書的序列號。
-days $EXPIRE: 設(shè)置服務(wù)器證書的有效期。
-out ${FILE}.crt: 生成的服務(wù)器證書文件名為 ${FILE}.crt,此處為 kgc.com.crt。
--------------------------------------------------------------------------------------------------------
#chmod 600 ${FILE}.key ca.key
chmod 600: 改變文件權(quán)限,使其只有所有者有讀寫權(quán)限,增強安全性。
${FILE}.key 和 ca.key: 分別指服務(wù)器私鑰和CA私鑰文件,確保它們的訪問權(quán)限受限
--------------------------------------------------------------------------------------------------------

[root@liuyanfen12 nginx]#chmod +x certificate.sh
#添加權(quán)限
[root@liuyanfen12 nginx]#./certificate.sh
#運行
Generating a 2048 bit RSA private key
..........................................................................................................+++
.................+++
writing new private key to 'ca.key'
-----
Generating a 2048 bit RSA private key
.....................+++
..+++
writing new private key to 'luck.com.key'
-----
Signature ok
subject=/C=CN/ST=js/L=nj/O=luck/CN=www.luck.com
Getting CA Private Key

[root@liuyanfen12 nginx]#ls
ca.crt  ca.key  certificate.sh  luck.com.crt  luck.com.csr  luck.com.key
[root@liuyanfen12 nginx]#cat luck.com.crt ca.crt > www.luck.com.crt
#使用cat命令將luck.com.crt和ca.crt兩個文件的內(nèi)容合并到一個新文件www.luck.com.crt中,這樣做的目的是為了組合服務(wù)器證書和CA證書,使得Nginx或任何其他Web服務(wù)器能夠通過單一文件提供完整的證書鏈給客戶端,以便正確驗證服務(wù)器證書
[root@liuyanfen12 nginx]#mv luck.com.key www.luck.com.key
#使用 mv 命令重命名luck.com.key為www.luck.com.key 為了與上面合并后的證書文件保持名稱一致性,或者準備為www.dlsockerng.com子域名服務(wù)使用同一密鑰對
[root@liuyanfen12 nginx]#ls
ca.crt  ca.key  certificate.sh  luck.com.crt  luck.com.csr  www.luck.com.crt  www.luck.com.key

4、準備nginx配置文件和dockerfile文件

[root@liuyanfen12 nginx]#ls
#上傳nginx安裝包,準備nginx.conf和Dockerfile文件
ca.crt  certificate.sh  luck.com.crt  nginx-1.12.0.tar.gz  www.luck.com.crt
ca.key  Dockerfile      luck.com.csr  nginx.conf           www.luck.com.key

#編輯dockerfile腳本
[root@liuyanfen12 nginx]#vim Dockerfile
FROM centos:7
MAINTAINER this is nginx image <nginx>
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make openssl openssl-devel
RUN useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.12.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
#加載ngx_http_ssl_module模塊,該模塊是處理SSL/TLS連接所必需的
--with-http_stub_status_module;make -j4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
ADD nginx.conf /usr/local/nginx/conf/nginx.conf
ADD www.luck.com.crt /usr/local/nginx/conf/
ADD www.luck.com.key /usr/local/nginx/conf/
EXPOSE 80
EXPOSE 443
CMD [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

[root@liuyanfen12 nginx]#vim nginx.conf
#修改nginx.conf配置文件,在server模塊中添加配置(35行-42行)
      server {
        listen       80;
        listen 443 ssl;
        ssl_certificate /usr/local/nginx/conf/www.luck.com.crt;
        ssl_certificate_key /usr/local/nginx/conf/www.luck.com.key;
        ssl_session_cache shared:sslcache:20m;
        ssl_session_timeout 10m;
        server_name  localhost;
--------------------------------------------------------------------------------------------------------
listen 443 ssl;
#這行指定Nginx監(jiān)聽443端口,并啟用SSL支持。Web瀏覽器默認通過443端口建立HTTPS連接
ssl_certificate /usr/local/nginx/conf/www.dockerng.com.crt;
#指定SSL證書文件的路徑,這個路徑指向合并了服務(wù)器證書和CA證書鏈的文件(如果適用),以
#便客戶端在驗證服務(wù)器身份時使用。
ssl_certificate_key /usr/local/nginx/conf/www.dockerng.com.key;
#指定與上述證書匹配的私鑰文件路徑。此私鑰用于加密和解密服務(wù)器與客戶端之間的通信內(nèi)容
ssl_session_cache shared:sslcache:20m;
#配置一個共享的SSL會話緩存,大小為20MB。該緩存可以提高性能,通過復(fù)用已存在的SSL會話
#信息來減少重新協(xié)商和加密操作的開銷
ssl_session_timeout 10m;
#設(shè)置SSL會話超時時間為10分鐘。這意味著,在無活動期間達到這個時間長度后,客戶端必須與
#服務(wù)器重新建立新的SSL會話或者恢復(fù)先前的會話(如果仍然有效)。這個值可以根據(jù)實際需求調(diào)
#整以平衡安全性與性能。
--------------------------------------------------------------------------------------------------------

5、創(chuàng)建nginx鏡像與容器

[root@liuyanfen12 ~]#docker pull centos:7
#拉取基礎(chǔ)鏡像centos:7
[root@liuyanfen12 ~]#docker images
#查看基礎(chǔ)鏡像信息
[root@liuyanfen12 nginx]#docker  build -t nginx:centos .
#生成鏡像
[root@liuyanfen12 nginx]#docker images
#顯示鏡像信息
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
nginx        centos    c3f56b07162d   25 seconds ago   592MB
centos       7         eeb6ee3f44bd   2 years ago      204MB
[root@liuyanfen12 nginx]#docker run -d --name nginx -p 80:80 -p 443:443 nginx:centos
#創(chuàng)建容器并指定映射端口
618a521cf19a57ada8db2769b38fafcd2b09ff0065c2aa879ca7aed5c3fdd779
[root@liuyanfen12 nginx]#docker ps -a
#顯示所有容器信息
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS         PORTS                                                                      NAMES
618a521cf19a   nginx:centos   "/usr/local/nginx/sb…"   4 seconds ago   Up 3 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx

6、驗證訪問

https://192.168.10.12/
#使用瀏覽器訪問驗證

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker-compose安裝yml文件配置方式

    docker-compose安裝yml文件配置方式

    這篇文章主要介紹了docker-compose安裝,yml文件配置,離線安裝及在線安裝的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題

    Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題

    這篇文章主要介紹了Docker制作MySQL鏡像并使用`/docker-entrypoint-initdb.d/`問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • docker在linux系統(tǒng)上邊下載鏡像速度緩慢的問題及解決

    docker在linux系統(tǒng)上邊下載鏡像速度緩慢的問題及解決

    這篇文章主要介紹了docker在linux系統(tǒng)上邊下載鏡像速度緩慢的問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Docker鏡像指南之從核心命令到離線遷移實戰(zhàn)

    Docker鏡像指南之從核心命令到離線遷移實戰(zhàn)

    Docker鏡像為只讀分層文件,包含應(yīng)用及依賴,通過聯(lián)合文件系統(tǒng)實現(xiàn)高效共享和構(gòu)建,其不可變特性確??绛h(huán)境一致性,簡化標準化交付,提升部署效率,支持離線遷移,接下來通過本文給大家介紹Docker鏡像指南之從核心命令到離線遷移實戰(zhàn),感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • Ubuntu 16.04中Docker的安裝和代理配置教程

    Ubuntu 16.04中Docker的安裝和代理配置教程

    這篇文章主要給大家介紹了在Ubuntu 16.04中Docker的安裝和代理配置的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-05-05
  • Docker容器中Mysql數(shù)據(jù)的導(dǎo)入/導(dǎo)出詳解

    Docker容器中Mysql數(shù)據(jù)的導(dǎo)入/導(dǎo)出詳解

    服務(wù)器在使用了 Docker 后,對于備份和恢復(fù)數(shù)據(jù)庫的事情做下記錄,下面這篇文章主要給大家介紹了Docker容器中Mysql數(shù)據(jù)導(dǎo)入/導(dǎo)出的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-09-09
  • Docker磁盤清理之安全釋放overlay2空間的方法

    Docker磁盤清理之安全釋放overlay2空間的方法

    在使用docker時,往往會出現(xiàn)磁盤空間不足,導(dǎo)致該問題的通常原因是因為docker中部署的系統(tǒng)輸出了大量的日志內(nèi),這篇文章主要介紹了Docker磁盤清理之安全釋放overlay2空間的方法,需要的朋友可以參考下
    2025-11-11
  • Docker 數(shù)據(jù)存儲路徑之解決默認docker路徑位置磁盤空間不足的問題

    Docker 數(shù)據(jù)存儲路徑之解決默認docker路徑位置磁盤空間不足的問題

    本文指導(dǎo)如何通過修改daemon.json將Docker數(shù)據(jù)目錄從/var/lib/docker遷移至/mnt/disk/docker,保留所有鏡像、容器等數(shù)據(jù),無需調(diào)整docker.service,步驟包括停止服務(wù)、遷移數(shù)據(jù)、修改配置及重啟驗證,需要的朋友跟隨小編一起學(xué)習(xí)吧
    2025-08-08
  • Docker端口沖突5步快速定位并解決容器端口占用難題

    Docker端口沖突5步快速定位并解決容器端口占用難題

    ocker容器端口沖突是部署中的常見問題,通常因指定主機端口被其他進程或容器占用導(dǎo)致,這篇文章主要介紹了Docker端口沖突5步快速定位并解決容器端口占用難題的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-04-04
  • Docker & Docker Compose安裝教程

    Docker & Docker Compose安裝教程

    本文詳細介紹了在Ubuntu 22.04.1 LTS系統(tǒng)上安裝和配置Docker的步驟,包括選擇合適的存儲驅(qū)動和日志驅(qū)動,生產(chǎn)級配置以及用戶權(quán)限管理,通過一系列檢查步驟和常用命令,確保Docker安裝和配置的正確性
    2026-01-01

最新評論

内江市| 双牌县| 雅安市| 襄城县| 伊春市| 榆树市| 离岛区| 泸定县| 蓬莱市| 灵武市| 南岸区| 天镇县| 马尔康县| 寻甸| 增城市| 伊宁市| 德化县| 乐至县| 尖扎县| 黔西| 嵊州市| 崇左市| 延边| 奉贤区| 长岭县| 开化县| 通州市| 仪陇县| 周宁县| 柳河县| 永康市| 宜章县| 江津市| 达拉特旗| 塔河县| 和林格尔县| 历史| 平罗县| 邳州市| 福清市| 内丘县|