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

網(wǎng)站和API支持HTTPS,最好在Nginx上配置

這篇具有很好參考價(jià)值的文章主要介紹了網(wǎng)站和API支持HTTPS,最好在Nginx上配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

隨著我們網(wǎng)站用戶的增多,我們會逐漸意識到HTTPS加密的重要性。在不修改現(xiàn)有代碼的情況下,要從HTTP升級到HTTPS,讓Nginx支持HTTPS是個很好的選擇。今天我們來講下如何從Nginx入手,從HTTP升級到HTTPS,同時(shí)支持靜態(tài)網(wǎng)站和SpringBoot應(yīng)用,希望對大家有所幫助!

生成SSL自簽名證書

雖然自簽名證書瀏覽器認(rèn)為并不是安全的,但是學(xué)習(xí)下SSL證書的生成還是很有必要的!?

  • 首先創(chuàng)建SSL證書私鑰,期間需要輸入兩次用戶名和密碼,生成文件為blog.key
    openssl genrsa -des3 -out blog.key 2048
  • 利用私鑰生成一個不需要輸入密碼的密鑰文件,生成文件為blog_nopass.key
    openssl rsa -in blog.key -out blog_nopass.key
  • 創(chuàng)建SSL證書簽名請求文件,生成SSL證書時(shí)需要使用到,生成文件為blog.csr
    openssl req -new -key blog.key -out blog.csr
  • 在生成過程中,我們需要輸入一些信息,需要注意的是Common Name需要和網(wǎng)站域名一致;
    Enter pass phrase for blog.key:
    -----
    Country Name (2 letter code) [XX]:CN                                         # 國家代碼
    State or Province Name (full name) []:jiangsu                                # 省份
    Locality Name (eg, city) [Default City]:jiangsu                              # 城市
    Organization Name (eg, company) [Default Company Ltd]:macrozheng             # 機(jī)構(gòu)名稱
    Organizational Unit Name (eg, section) []:dev                                # 單位名稱
    Common Name (eg, your name or your server's hostname) []:blog.macrozheng.com # 網(wǎng)站域名
    Email Address []:macrozheng@qq.com                                           # 郵箱
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:                                                     # 私鑰保護(hù)密碼,可以不輸入直接回車
    An optional company name []:                                                 # 可選公司名稱,可以不輸入直接回車
  • 生成SSL證書,有效期為365天,生成文件為blog.crt;
    openssl x509 -req -days 365 -in blog.csr -signkey blog.key -out blog.crt
  • 其實(shí)最終有用的文件是兩個,一個是證書文件blog.crt,另一個是不需要輸入密碼的證書私鑰文件blog_nopass.key。

Nginx支持HTTPS

SSL證書生成好了,接下來我們就可以配置Nginx來支持HTTPS了!

安裝Nginx

  • 我們還是使用在Docker容器中安裝Nginx的方式,先下載Nginx的Docker鏡像;
    docker pull nginx:1.10
  • 下載完成后先運(yùn)行一次Nginx,由于之后我們要把宿主機(jī)的Nginx配置文件映射到Docker容器中去,運(yùn)行一次方便我們拷貝默認(rèn)配置;
    docker run -p 80:80 --name nginx \
    -v /mydata/nginx/html:/usr/share/nginx/html \
    -v /mydata/nginx/logs:/var/log/nginx  \
    -d nginx:1.10
  • 運(yùn)行成功后將容器中的Nginx配置目錄拷貝到宿主機(jī)上去;

    docker container cp nginx:/etc/nginx /mydata/nginx/
  • 將宿主機(jī)上的nginx目錄改名為conf,要不然/mydata/nginx/nginx這個配置文件目錄看著有點(diǎn)別扭;

    mv /mydata/nginx/nginx /mydata/nginx/conf
  • 創(chuàng)建的Nginx容器復(fù)制完配置后就沒用了,停止并刪除容器;

    docker stop nginx
    docker rm nginx
  • 使用Docker命令重新啟動Nginx服務(wù),需要映射好配置文件,由于我們要支持HTTPS,還需要開放443端口

    docker run -p 80:80 -p 443:443 --name nginx \
    -v /mydata/nginx/html:/usr/share/nginx/html \
    -v /mydata/nginx/logs:/var/log/nginx  \
    -v /mydata/nginx/conf:/etc/nginx \
    -d nginx:1.10

?文章來源地址http://www.zghlxwxcb.cn/news/detail-676222.html

配置支持HTTPS

  • 將我們生成好的SSL證書和私鑰拷貝到Nginx的html/ssl目錄下;
    cp blog_nopass.key /mydata/nginx/html/ssl/
    cp blog.crt /mydata/nginx/html/ssl/
  • 接下來我們需要給blog.macrozheng.com這個域名添加HTTPS支持,在/mydata/nginx/conf/conf.d/目錄下添加Nginx配置文件blog.conf,配置文件內(nèi)容如下;
    ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 配置SSL加密算法
        ssl_prefer_server_ciphers  on; # 優(yōu)先采取服務(wù)器算法
        ssl_session_cache    shared:SSL:10m; # 配置共享會話緩存大小
        ssl_session_timeout  10m; # 配置會話超時(shí)時(shí)間
    
        location / {
            root   /usr/share/nginx/html/www;
            index  index.html index.htm;
        }
    
        location /admin {
            alias   /usr/share/nginx/html/admin;
            index  index.html index.htm;
        }
    
        location /app {
            alias   /usr/share/nginx/html/app;
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
  • 通過HTTPS訪問blog.macrozheng.com這個域名,由于我們使用的是自己簽名的SSL證書,瀏覽器會提示您的連接不是私密連接,點(diǎn)擊繼續(xù)前往可以通過HTTPS正常訪問;
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx
  • 我們可以查看下證書的頒發(fā)者信息,可以發(fā)現(xiàn)正好是之前我們創(chuàng)建SSL證書簽名請求文件時(shí)錄入的信息;
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx
  • 接下來我們需要給api.macrozheng.com這個域名添加HTTPS支持,通過這個域名可以使用HTTPS訪問我們的SpringBoot應(yīng)用,api.crtapi_nopass.key文件需要自行生成,在/mydata/nginx/conf/conf.d/目錄下添加Nginx配置文件api.conf,配置文件內(nèi)容如下;
    server {
        listen       80; # 同時(shí)支持HTTP
        listen       443 ssl; # 添加HTTPS支持
        server_name  api.macrozheng.com; #修改域名
    
        #ssl配置
        ssl_certificate      /usr/share/nginx/html/ssl/api/api.crt; # 配置證書
        ssl_certificate_key  /usr/share/nginx/html/ssl/api/api_nopass.key; # 配置證書私鑰
        ssl_protocols        TLSv1 TLSv1.1 TLSv1.2; # 配置SSL協(xié)議版本 # 配置SSL加密算法
        ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers  on; # 優(yōu)先采取服務(wù)器算法
        ssl_session_cache    shared:SSL:10m; # 配置共享會話緩存大小
        ssl_session_timeout  10m; # 配置會話超時(shí)時(shí)間
    
        location / {
            proxy_pass   http://192.168.3.101:8080; # 設(shè)置代理服務(wù)訪問地址
            proxy_set_header  Host $http_host; # 設(shè)置客戶端真實(shí)的域名(包括端口號)
            proxy_set_header  X-Real-IP  $remote_addr; # 設(shè)置客戶端真實(shí)IP
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; # 設(shè)置在多層代理時(shí)會包含真實(shí)客戶端及中間每個代理服務(wù)器的IP
            proxy_set_header X-Forwarded-Proto $scheme; # 設(shè)置客戶端真實(shí)的協(xié)議(http還是https)
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
  • 通過HTTPS訪問api.macrozheng.com這個域名,訪問地址為:https://api.xx.com/sw...
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx
  • 任意調(diào)用一個接口測試下,比如說登錄接口,可以發(fā)現(xiàn)已經(jīng)可以通過HTTPS正常訪問SpringBoot應(yīng)用提供的接口。
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx

?

使用受信任的證書

之前我們使用的是自簽名的SSL證書,對于瀏覽器來說是無效的。使用權(quán)威機(jī)構(gòu)頒發(fā)的SSL證書瀏覽器才會認(rèn)為是有效的,這里給大家推薦兩種申請免費(fèi)SSL證書的方法,一種是從阿里云申請,另一種是從FreeSSL申請。

阿里云證書

  • 阿里云上可以申請的免費(fèi)證書目前只有支持單個域名的DV級SSL證書。比如說你有blog.macrozheng.comapi.macrozheng.com兩個二級域名需要使用HTTPS,就需要申請兩個SSL證書。
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx
  • 申請成功后點(diǎn)擊下載Nginx證書即可;
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx
  • 下載完成后解壓會有下面兩個文件;
    blog.macrozheng.com.key # 證書私鑰文件
    blog.macrozheng.com.pem # 證書文件
  • 拷貝證書文件到Nginx的指定目錄下,然后修改配置文件blog.conf,只要修改證書配置路徑即可,修改完成后重啟Nginx;
    #SSL配置
    ssl_certificate      /usr/share/nginx/html/ssl/blog/blog.macrozheng.com.pem; # 配置證書
    ssl_certificate_key  /usr/share/nginx/html/ssl/blog/blog.macrozheng.com.key; # 配置證書私鑰
  • 再次通過HTTPS訪問blog.macrozheng.com這個域名,發(fā)現(xiàn)證書已經(jīng)有效了,連接也是安全的了。
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx

FreeSSL證書

  • 如果你有使用通配符域名的需求,可以上FreeSSL申請SSL證書,不過免費(fèi)的有效期只有3個月,這就意味著你過3個月就要重新申請一次了。附上官網(wǎng)地址:https://freessl.cn/
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx

?

使用acme.sh自動申請證書

  • acme.sh腳本實(shí)現(xiàn)了acme協(xié)議, 可以從letsencrypt生成免費(fèi)的證書。一般我們申請的證書有效期都是1年,過期就要重新申請了,使用acme.sh腳本可以實(shí)現(xiàn)到期自動申請,再也不用擔(dān)心證書過期了!
    網(wǎng)站和API支持HTTPS,最好在Nginx上配置,https,網(wǎng)絡(luò)協(xié)議,http,nginx
  • https://github.com/acmesh-official/acme.sh?? 官網(wǎng)地址

?

?

?

?

?

到了這里,關(guān)于網(wǎng)站和API支持HTTPS,最好在Nginx上配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • nginx一臺服務(wù)器上配置兩個https 域名網(wǎng)站

    要在 Nginx 中配置兩個 HTTPS 網(wǎng)站,您需要執(zhí)行以下步驟: 在服務(wù)器上安裝 SSL 證書。您需要為每個網(wǎng)站安裝單獨(dú)的 SSL 證書。 在 Nginx 配置文件中創(chuàng)建兩個 server 塊,每個塊代表一個網(wǎng)站。 在每個 server 塊中,配置 SSL 證書和密鑰文件的路徑。 配置每個 server 塊的 server_name 指令

    2024年02月10日
    瀏覽(30)
  • 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日
    瀏覽(24)
  • Linux下Nginx配置SSL模塊,Nginx安裝SSL,Nginx支持https配置詳細(xì)教程

    Linux下Nginx配置SSL模塊,Nginx安裝SSL,Nginx支持https配置詳細(xì)教程

    前提:Linux安裝Nginx,參考教程:CentOS7安裝Nginx完整教程,Linux系統(tǒng)下保姆式安裝Nginx教程 | 老麻 安裝好Nginx之后,需要支持SSL時(shí),要單獨(dú)安裝SSL模塊,方法如下: 輸入 ./nginx –V 命令,注意V是大寫,查看配置是否包含“–with-http_ssl_module”,包含則表示已配置好SSL,如果不包

    2024年02月08日
    瀏覽(22)
  • Nginx配置https網(wǎng)站訪問第三方節(jié)點(diǎn)的http資源

    https網(wǎng)站無法直接下載http網(wǎng)站的文件。解決思路有以下幾種情況:1.兩個網(wǎng)站都同時(shí)改為http或https。2.通過nginx轉(zhuǎn)發(fā)。3.通過后端java代碼獲取對方網(wǎng)站的文件流然后把流返回給前端 本文介紹如果通過nginx轉(zhuǎn)發(fā)訪問http網(wǎng)站 配置規(guī)則一: 這樣配置之后,本地網(wǎng)站比如是:訪問htt

    2024年02月16日
    瀏覽(26)
  • nginx配置SSL證書配置https訪問網(wǎng)站 超詳細(xì)(附加配置源碼+圖文配置教程)

    最近在阿里云上入手了一臺云服務(wù)器,準(zhǔn)備搭建一套java程序,在 Nginx 配置SSL證書時(shí),配上之后前端可以正常以https的方式打開,但是訪問不到后端,自己也是明明知道是 Niginx 配置的問題,但就不知道錯哪了,當(dāng)時(shí)心里的那種感覺真是無法表達(dá)嗚嗚嗚… 經(jīng)過排查發(fā)現(xiàn) 前端訪

    2024年02月11日
    瀏覽(23)
  • nginx的同一個端口配置支持http與https協(xié)議

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

    2024年02月13日
    瀏覽(89)
  • 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)
  • Linux升級openssl版本、安裝nginx并配置https證書支持TLSv1.3

    參考文章 https://blog.csdn.net/weixin_43153854/article/details/109823633?utm_medium=distribute.pc_relevant.none-task-blog-2 default baidujs_baidulandingword~default-4-109823633-blog-106643510.pc_relevant_default_base2spm=1001.2101.3001.4242.3utm_relevant_index=7 參考文章 https://blog.csdn.net/t8116189520/article/details/81909574

    2024年02月14日
    瀏覽(31)
  • Nginx 域名SSL證書配置(網(wǎng)站 http 升級為 https) acme.sh 申請免費(fèi)SSL永久證書(自動續(xù)期)

    Nginx 域名SSL證書配置(網(wǎng)站 http 升級為 https) acme.sh 申請免費(fèi)SSL永久證書(自動續(xù)期)

    小編這里用的是godaddy購買的域名 服務(wù)器是aws acme.sh GitHub地址??https://github.com/acmesh-official/acme.sh 配合nginx進(jìn)行部署,后面會貼上nginx.conf 我這里是多個域名用同一個證書 ? ?首先你得在自己服務(wù)器上面進(jìn)行部署nginx,如果不知道怎么操作的,可以參考我這一篇博客,執(zhí)行到這一

    2024年01月24日
    瀏覽(39)
  • 源碼編譯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)前目錄下面會有 libssl.so和l

    2024年02月13日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包