成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

一文教您如何通過 Docker 搭建反向代理 Ngnix,并配置 Https SSL 證書

ZHAO_ / 1545人閱讀

摘要:由于上面我們已經(jīng)新建了一個(gè)配置文件,這里就直接將反向代理的配置寫在里面通過配置,我們反向代理到了端口的服務(wù)。六最后本文中,我們學(xué)習(xí)了如何通過快速搭建環(huán)境,并對(duì)其配置證書和反向代理,讓網(wǎng)站能夠以協(xié)議來訪問。

歡迎關(guān)注個(gè)人微信公眾號(hào): 小哈學(xué)Java, 每日推送 Java 領(lǐng)域干貨文章,關(guān)注即免費(fèi)無套路附送 100G 海量學(xué)習(xí)、面試資源喲??!

個(gè)人網(wǎng)站: https://www.exception.site/docker/how-to-config-ssl-with-docker-nginx

一、背景

小哈最近收到阿里云短信,提示個(gè)站 www.exception.site 的云盾 SSL 證書(Https 證書)即將到期,需要趕快續(xù)費(fèi),不然無法繼續(xù)使用 Https 協(xié)議來訪問網(wǎng)站!

這個(gè) SSL 證書當(dāng)時(shí)用的是阿里云免費(fèi)型的,有效期為 1 年,到期后, 如果想繼續(xù)使用這個(gè)證書,就得續(xù)費(fèi),而且費(fèi)用還不低!

其實(shí),要想繼續(xù)使用 Https 協(xié)議,我們可以在阿里云上再次申請(qǐng)一張 SSL 證書就可以了,時(shí)間一年,嗨呀,又能免費(fèi)用一年。

本文小哈就主要介紹如何在 Ngnix 上配置 SSL 證書,從而讓我們的網(wǎng)站能夠使用 Https 來訪問,另外再附帶說一下如何配置反向代理。

二、Docker 快速安裝&搭建 Ngnix 環(huán)境

小哈的個(gè)站 Ngnix 搭建在容器當(dāng)中,也就順便說一下如何通過 Docker 快速安裝&搭建 Ngnix 環(huán)境。

2.1 下載 Nginx 鏡像
docker pull nginx:alpine
PS:我這里用的是 alipne 輕量級(jí)的鏡像.

下載完成后,通過 docker images 命令檢查一下鏡像是否下載成功:

2.2 先以簡(jiǎn)單的方式運(yùn)行鏡像
docker run -d -p 80:80 --name nginx nginx:alpine

-p 80:80: 將容器的 80 端口映射到宿主機(jī)的 80 端口上;

-d: 以后臺(tái)方式運(yùn)行鏡像;

--name: 指定容器的名稱為 nginx;

命令執(zhí)行完成后,通過 docker ps命令確認(rèn)一下容器是否啟動(dòng)成功。確認(rèn)成功后,再訪問一下 80 端口,看看 nginx 服務(wù)是否啟動(dòng)成功:

2.3 復(fù)制相關(guān)配置文件至宿主機(jī)

復(fù)制運(yùn)行中 nginx 相關(guān)配置文件到宿主機(jī)的指定路徑下:

# 復(fù)制名稱為 nginx 容器中 /etc/nginx/nginx.conf 文件夾到宿主機(jī)的 /docker/nginx 路徑下
docker cp nginx:/etc/nginx/nginx.conf /docker/nginx
# 復(fù)制名稱為 nginx 容器中 /etc/nginx/conf.d 文件到宿主機(jī)的 /docker/nginx 路徑下
docker cp nginx:/etc/nginx/conf.d /docker/nginx

復(fù)制完成后,查看指定路徑的配置文件,如下:

三、配置 SSL 3.1 免費(fèi)獲取 SSL 證書

訪問鏈接 https://common-buy.aliyun.com/?spm=5176.2020520163.cas.3.4bf91BFD1BFDcm&commodityCode=cas#/buy:

PS: 注意,未注冊(cè)阿里云賬號(hào)的童鞋,需要先注冊(cè)一個(gè)賬號(hào)喲~

選擇免費(fèi) DV SSL 證書 -> 立即購買,完成后,進(jìn)入阿里云后臺(tái)查看:

這里需要申請(qǐng)簽發(fā),填寫相關(guān)信息后,等待簽發(fā)通過即可。

簽發(fā)通過后,我們下載證書:

這里我選擇的是 Ngnix, 當(dāng)然了,你也可以選擇 Tomcat、Apache、IIS 等。

3.2 解壓上傳到服務(wù)器

下載下來后,解壓,我們可以看到包含兩個(gè)文件:

接下來,我們先在容器的掛載目錄下創(chuàng)建 cert 證書目錄:

將解壓后的兩個(gè)文件上傳至該目錄中。

3.3 配置 Ngnix SSL

這里需要說一下,小哈運(yùn)行在 docker 容器中的 nginx 版本,信息如下:

因?yàn)槲业?nginx 相對(duì)版本較高,可能和大家的配置文件目錄有些不同,但整體的沒啥大的問題,該怎么配置,還是怎么配置:

首先創(chuàng)建 ssl.conf 配置文件,專門用來配置 ssl 相關(guān)參數(shù):

server {
    listen 443 ssl http2;
    server_name  exception.site www.exception.site;

    client_max_body_size 4M;
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate /etc/nginx/cert/2256161_www.exception.site.pem;
    ssl_certificate_key  /etc/nginx/cert/2256161_www.exception.site.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

   location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://172.17.0.1:8090;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

根據(jù)阿里云的文檔說明加上 ssl 相關(guān)參數(shù),如 ssl 證書的兩個(gè)文件目錄,另外同時(shí)監(jiān)聽 443 端口。

再貼下 defaut.conf 配置文件內(nèi)容:

server {
    listen       80;
    server_name  exception.site www.exception.site;
    return 301 https://$host$request_uri;
}

可以看到,主要對(duì) http 80 端口主要做了一下 301 重定向,也就是說,如果前端使用的 http 訪問,這里會(huì)重定向到 https 協(xié)議。

四、配置反向代理

再來說說如何配置反向代理,先通過命令 ifconfig 命令獲取 docker0網(wǎng)卡的 ip 地址:

PS: 因?yàn)槲倚枰聪虼淼姆?wù)部署在本機(jī)的 Docker 容器中,所以用的這個(gè) IP,如果你用的外網(wǎng)其他地址,可自行修改。

由于上面我們已經(jīng)新建了一個(gè) ssl.conf 配置文件,這里就直接將反向代理的配置寫在里面:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.17.0.1:8090;

通過配置,我們反向代理到了 8090 端口的 Spring Boot 服務(wù)。

五、重啟 Nginx 容器

先刪除之前啟動(dòng)的 nginx 容器:

docker rm -f nginx

成功后,回到配置文件的主目錄,執(zhí)行:

docker run -d  
-p 80:80 -p 443:443  
--name nginx 
-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf 
-v /docker/nginx/conf.d:/etc/nginx/conf.d 
-v /docker/nginx/logs:/var/log/nginx 
-v /docker/nginx/cert:/etc/nginx/cert 
nginx:alpine 

參數(shù)說明:

-p 80:80 -p 443:443:將容器的 80、443 端口映射到主機(jī)的 80、443 端口;

-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf:將容器中的 /etc/nginx/nginx.conf 文件掛載到宿主機(jī)中的 /docker/nginx/nginx.conf 文件;

-v /docker/nginx/conf.d:/etc/nginx/conf.d:將容器中 /etc/nginx/conf.d 目錄掛載到宿主機(jī)中的 conf.d 目錄下;

-v /docker/nginx/logs:/var/log/nginx:將容器中的 /var/log/nginx 目錄掛載到宿主機(jī)中的 /docker/nginx/logs 目錄下, 用以查看 Nginx 日志;

-v /docker/nginx/cert:/etc/nginx/cert: 將容器中的 /etc/nginx/cert 證書目錄掛載到宿主機(jī)中的 /docker/nginx/cert 證書目錄下;

注意:因?yàn)槲沂褂玫陌⒗镌品?wù)器,同時(shí)還需要將 443 端口加入到安全組中,才能保證外界的正常訪問 https 端口

運(yùn)行命令成功后,通過 https 協(xié)議來訪問我們的網(wǎng)站域名 www.exception.site,看看是否能夠正常訪問,并且方向代理到 8090 端口的 Spring Boot 服務(wù)上:

OK! 大工告成。

六 、最后

本文中,我們學(xué)習(xí)了如何通過 Docker 快速搭建 Nginx 環(huán)境,并對(duì)其配置 SSL 證書和反向代理,讓網(wǎng)站能夠以 Https 協(xié)議來訪問。希望童鞋們看完本文能夠有所收獲,下期見~

免費(fèi)分享 | 面試&學(xué)習(xí)福利資源

最近在網(wǎng)上發(fā)現(xiàn)一個(gè)不錯(cuò)的 PDF 資源《Java 核心知識(shí)&面試.pdf》分享給大家,不光是面試,學(xué)習(xí),你都值得擁有!??!

獲取方式: 關(guān)注公眾號(hào): 小哈學(xué)Java, 后臺(tái)回復(fù)資源,既可免費(fèi)無套路獲取資源鏈接,下面是目錄以及部分截圖:

重要的事情說兩遍,關(guān)注公眾號(hào): 小哈學(xué)Java, 后臺(tái)回復(fù)資源,既可免費(fèi)無套路獲取資源鏈接 ?。。?/p> 歡迎關(guān)注微信公眾號(hào): 小哈學(xué)Java

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27895.html

相關(guān)文章

  • Docker 快速安裝&搭建 Ngnix 環(huán)境,配置反向代理

    摘要:一下載鏡像我這里用的是輕量級(jí)的鏡像下載完成后,通過命令檢查一下鏡像是否下載成功二先以簡(jiǎn)單的方式運(yùn)行鏡像以后臺(tái)方式運(yùn)行鏡像指定容器的名稱為命令執(zhí)行完成后,通過命令確認(rèn)一下容器是否啟動(dòng)成功。 歡迎關(guān)注個(gè)人微信公眾號(hào): 小哈學(xué)Java, 文末分享阿里 P8 高級(jí)架構(gòu)師吐血總結(jié)的 《Java 核心知識(shí)整理&面試.pdf》資源鏈接!!個(gè)人網(wǎng)站: https://www.exception.sit...

    鄒強(qiáng) 評(píng)論0 收藏0
  • Docker 快速安裝&搭建 Ngnix 環(huán)境,配置反向代理

    摘要:一下載鏡像我這里用的是輕量級(jí)的鏡像下載完成后,通過命令檢查一下鏡像是否下載成功二先以簡(jiǎn)單的方式運(yùn)行鏡像以后臺(tái)方式運(yùn)行鏡像指定容器的名稱為命令執(zhí)行完成后,通過命令確認(rèn)一下容器是否啟動(dòng)成功。 歡迎關(guān)注個(gè)人微信公眾號(hào): 小哈學(xué)Java, 文末分享阿里 P8 高級(jí)架構(gòu)師吐血總結(jié)的 《Java 核心知識(shí)整理&面試.pdf》資源鏈接??!個(gè)人網(wǎng)站: https://www.exception.sit...

    xiaoqibTn 評(píng)論0 收藏0
  • 一文教您如何通過 Docker 快速搭建各種測(cè)試環(huán)境(Mysql, Redis, Elasticse

    摘要:本文主要說說如何配置阿里云的鏡像加速器。通過修改配置文件來使用加速器執(zhí)行下面命令驗(yàn)證一下速度以下載為例,看下速度下載配置了加速器過后,速度終于飚起來了。二快速安裝搭建環(huán)境本節(jié)中,我們將學(xué)習(xí)如何通過快速安裝與搭建環(huán)境。 歡迎關(guān)注個(gè)人微信公眾號(hào): 小哈學(xué)Java, 優(yōu)質(zhì)文章第一時(shí)間推送喲?。?個(gè)人網(wǎng)站: www.exception.site 小哈今天給大家分享的主題是,如何通過 Docker ...

    FleyX 評(píng)論0 收藏0
  • 服務(wù)器部署工具 - 收藏集 - 掘金

    摘要:基本入門前端掘金作者本文屬于翻譯文章,原文鏈接為。如果如何把應(yīng)用放在容器中運(yùn)行掘金本文適合零基礎(chǔ),且希望使用運(yùn)行應(yīng)用的人士。后端掘金使用構(gòu)建網(wǎng)站。 nginx 基本入門 - 前端 - 掘金作者:villainthr 本文屬于翻譯文章,原文鏈接為 nginx Beginner’s Guide。是至今為止見過最好的 nginx 入門文章。額。。。沒有之一。 這篇教程簡(jiǎn)單介紹了 nginx ...

    Shonim 評(píng)論0 收藏0
  • Angular 容器部署

    摘要:很多人反應(yīng)很難訪問,所以轉(zhuǎn)移到阿里云服務(wù)器上,因此做了一次完整的容器部署。在容器化過程中,我們并未配置任何等,只是保留服務(wù)所需的配置項(xiàng)而已,而這一部分我們可以放在反向代理層完成。 很多人反應(yīng)很難訪問 Github Page,所以 ng-alain.com 轉(zhuǎn)移到阿里云服務(wù)器上,因此做了一次完整的 Angular 容器部署。 以下我會(huì)闡述 ng-alain 整個(gè)過程,其中包括 Docke...

    tracy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ZHAO_

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<