国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

虛擬機(jī)上用docker + nginx跑前端并支持https和http

這篇具有很好參考價(jià)值的文章主要介紹了虛擬機(jī)上用docker + nginx跑前端并支持https和http。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

情況是這樣,我在虛擬機(jī)上,使用docker跑前端,需要這個(gè)前端支持https,原h(huán)ttp的話自動(dòng)跳轉(zhuǎn)到https。另外,前端部署使用了負(fù)載均衡,即使用了3個(gè)docker跑前端:1個(gè)入口,另外2個(gè)是前端,指向了同一份網(wǎng)站代碼。(有關(guān)前端部署負(fù)載均衡,詳見拙作《使用docker部署多個(gè)nginx站點(diǎn)并配置負(fù)載均衡》)

如圖所示
虛擬機(jī)上用docker + nginx跑前端并支持https和http,應(yīng)用,Web,nginx,https,https和http,跳轉(zhuǎn),http跳https
有關(guān)使用docker部署nginx并支持https,之前我也有一篇總結(jié):《使用docker部署nginx并支持https》

現(xiàn)在要說的是,轉(zhuǎn)向https以后,原先的http方式怎么辦?現(xiàn)在https已經(jīng)是標(biāo)配了,http除了方便一點(diǎn),沒有什么好留戀的,最好的處理方式,不是同時(shí)支持兩種協(xié)議,而是將http自動(dòng)跳轉(zhuǎn)到https。其實(shí)跳轉(zhuǎn)很簡(jiǎn)單,只有2、3行代碼:

server {
    listen       80;
    server_name  192.168.0.22;    
    # rewrite ^/(.*) https://$server_name:8443$request_uri? permanent;
    return 301 https://$host:8443$request_uri;
}

這是支持http的server配置。一般網(wǎng)上教程給的文章,沒有注明這個(gè)端口8443,是因?yàn)樗麄儧]有用虛擬機(jī)來部署。而我是在宿主機(jī)上跑了一個(gè)linux,然后在linux上再跑docker。其中192.168.0.22就是宿主機(jī),443早就被其他應(yīng)用占用了,我只能開放8443給外部訪問,所以跳轉(zhuǎn)這里加上了端口8443。

上面的跳轉(zhuǎn),有2條語句,任意一條都可以。這個(gè)server_name可不是隨意寫的。
虛擬機(jī)上用docker + nginx跑前端并支持https和http,應(yīng)用,Web,nginx,https,https和http,跳轉(zhuǎn),http跳https
我感覺最后一條比較簡(jiǎn)潔,第一條太多代碼了。permanent是“永久”的意思,估計(jì)是想告訴瀏覽器,你訪問的http地址,已經(jīng)永久轉(zhuǎn)向了這個(gè)啥啥啥。但其實(shí),301就代表了永久轉(zhuǎn)移:

HTTP 301 Moved Permanently 說明請(qǐng)求的資源已經(jīng)被移動(dòng)到了由Location 頭部指定的url 上,是固定的不會(huì)再改變。搜索引擎會(huì)根據(jù)該響應(yīng)修正。

前面說到,“$server_name“ 在腳本中被賦值,但是”$host"沒看到哪里有賦值,其實(shí)就是代表我們所訪問的地址,無須賦值。意思是,你訪問http://abc,系統(tǒng)就自動(dòng)給你跳到https://abc。這個(gè)abc,就是host。

另外,修改nginx腳本以后,除了需要重啟相關(guān)docker,還要將瀏覽器清除緩存,否則試不出效果。

負(fù)責(zé)跳轉(zhuǎn)的docker對(duì)應(yīng)的完整nginx配置腳本:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


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

    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;

    keepalive_timeout  65;

    #gzip  on;

    #include /etc/nginx/conf.d/*.conf;

    upstream main-web{
	   server 192.168.144.129:8810;
	   server 192.168.144.129:8811;
    }

    server {
        listen 443 ssl;
        server_name localhost;  
        # 注意文件位置,是從/etc/nginx/下開始算起的
        ssl_certificate cert/gdhysthj.crt;
        ssl_certificate_key cert/gdhysthj.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location / {
            proxy_set_header HOST $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # 這里寫的是我的騰訊云內(nèi)網(wǎng)地址,不知道為啥,不能用127.0.0.1...
            proxy_pass http://main-web;
        }
    }
    server {
        listen       80;
        server_name  192.168.0.22;    
        # rewrite ^/(.*) https://$server_name:8443$request_uri? permanent;
        return 301 https://$host:8443$request_uri;
    }

}

192.168.144.129 是虛擬機(jī)地址,192.168.0.22是宿主機(jī)地址。文章來源地址http://www.zghlxwxcb.cn/news/detail-521803.html

到了這里,關(guān)于虛擬機(jī)上用docker + nginx跑前端并支持https和http的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Nginx配置同時(shí)支持http和https兩種方式訪問

    Nginx配置同時(shí)支持http和https兩種方式訪問

    http: https: Nginx的ssl模塊安裝 進(jìn)入到目錄的sbin目錄下,輸入 如果出現(xiàn) (configure arguments: --with-http_ssl_module), 則已安裝(下面的步驟可以跳過,直接進(jìn)行第五步)。 一般情況下都是不存在ssl模塊的,接下來進(jìn)入到你的解壓縮后的nginx目錄,注意這里不是nginx安裝目錄,是解壓縮后

    2024年02月13日
    瀏覽(23)
  • Nginx 一個(gè)端口同時(shí)支持 http 和 https協(xié)議【詳細(xì)步驟】

    ?? 背景:使用 Nginx 1.24.0 代理前端及后端應(yīng)用,假設(shè)稱之為 A 系統(tǒng)。A 系統(tǒng)最初使用的是 http 協(xié)議,后來改成了 https 協(xié)議。 Nginx 配置 https 訪問【圖文教程】:Nginx 配置 https 訪問 ?? 問題:修改為 https 協(xié)議后,發(fā)現(xiàn)一些問題。即 依賴 A 的系統(tǒng)沒有改成 https,導(dǎo)致報(bào)錯(cuò) 。 ??

    2024年01月25日
    瀏覽(25)
  • nginx的同一個(gè)端口配置支持http與https協(xié)議

    http://www.baidu.com:5000 https://www.baidu.com:5000 請(qǐng)求自定義端口的http 跟https,都一樣的頁面 vim /opt/lucky/nginx/conf/vhosts/baidu.conf

    2024年02月13日
    瀏覽(88)
  • 使用docker部署nginx并支持https

    使用docker部署nginx并支持https

    配置nginx支持https,其實(shí)也簡(jiǎn)單,搞個(gè)證書,然后修改下配置文件就好了。我以前一篇文章(使用docker部署多個(gè)nginx站點(diǎn)并配置負(fù)載均衡)為例,做個(gè)記錄。 如前所述,我使用docker,部署了3個(gè)nginx。一個(gè)做負(fù)載均衡服務(wù)器,另外兩個(gè)做應(yīng)用。結(jié)構(gòu)如下: 那么,支持https,也是在

    2024年02月15日
    瀏覽(16)
  • nginx配置若依框架vue打包項(xiàng)目(同時(shí)支持http和https)

    該配置模版主要是若依框架前后端配置,若只是配置普通的vue項(xiàng)目,直接復(fù)制一下小模塊即可 ? #vue頁面訪問配置 ? ? ?location ?/ { ? ? ? ? ? ? ?root /www/wwwroot/www.xxx.com; ? ? ? ? ? ? # autoindex on; ? ? ? ? ? ? ?try_files $uri $uri/ /index.html; ? ? ? ? ? ? ?index ?index.html index.htm

    2024年01月25日
    瀏覽(20)
  • Nginx + Docker 極簡(jiǎn)部署 Odoo16 支持 HTTPS 避坑指南

    Nginx + Docker 極簡(jiǎn)部署 Odoo16 支持 HTTPS 避坑指南

    在生產(chǎn)環(huán)境使用 Odoo 官方 Docker 鏡像部署 odoo16,使用 Nginx 作為反向代理,并支持 Https協(xié)議,記錄遇到的問題,作為避坑指南,最后推薦一個(gè)免費(fèi)的符合OpenAPI規(guī)范的接口模塊。 centos7 docker V23 nginx https 證書 Odoo 模塊 安裝 docker 及 docker compose (非 docker-compose 無下劃線) 啟動(dòng) docke

    2024年02月06日
    瀏覽(18)
  • 配置Insecure Docker Registry支持http請(qǐng)求 (更改默認(rèn)的https請(qǐng)求)

    本文記錄了如何配置 Insecure http docker registry ,也就是使用 http 請(qǐng)求 (更改默認(rèn)的https請(qǐng)求) Docker Registry 倉(cāng)庫(kù)。 在測(cè)試環(huán)境中沒有配置 SSL/TLS , 需要使用 http 請(qǐng)求 Docker Registry ,也就是Containerd需要使用http處理請(qǐng)求,但是環(huán)境中的 Containerd (CRI Container Runtime Interface) 默認(rèn)是

    2024年02月03日
    瀏覽(17)
  • lua使用resty.http做nginx反向代理(https請(qǐng)求,docker容器化部署集群),一個(gè)域名多項(xiàng)目轉(zhuǎn)發(fā)

    lua使用resty.http做nginx反向代理(https請(qǐng)求,docker容器化部署集群),一個(gè)域名多項(xiàng)目轉(zhuǎn)發(fā)

    下載使用 鏈接:https://pan.baidu.com/s/1uQ7yCzQsPWsF6xavFTpbZg 提取碼:htay –來自百度網(wǎng)盤超級(jí)會(huì)員V5的分享 ad_load.lua文件

    2024年01月18日
    瀏覽(34)
  • 源碼編譯nginx支持https

    編譯openssl 從github下載指定版本的源碼 https://github.com/openssl/openssl/releases 下載后解壓 tar -zcvf openssl-3.1.1.tar.gz 進(jìn)入文件夾后配置 cd openssl-3.1.1 ./Configure --prefix=/data/projects/build/openssl-3.1.1 --prefix參數(shù)指定路徑 執(zhí)行編譯 make -j8 不需要安裝到系統(tǒng),此時(shí)當(dāng)前目錄下面會(huì)有 libssl.so和l

    2024年02月13日
    瀏覽(18)
  • Nginx 下將 http 改為 https

    Nginx 下將 http 改為 https

    將服務(wù)從 HTTP 變?yōu)?HTTPS ,需要進(jìn)行 SSL 證書的配置。需要完成一下步驟: 獲取 SSL 證書 安裝 SSL 證書 配置 Nginx 支持 HTTPS 重啟 Nginx HTTP 到 HTTPS 的重定向(可選) 對(duì)于 SSL/TLS 證書,一般來說,它們是基于 域名 進(jìn)行頒發(fā)的,而不是 IP地址 。這是因?yàn)?SSL/TLS 證書是用來驗(yàn)證服務(wù)

    2024年02月04日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包