欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx配置https原理及實現(xiàn)過程詳解

 更新時間:2020年09月27日 11:13:57   作者:海綿般汲取  
這篇文章主要介紹了Nginx配置https原理及實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

使用linux實用工具certbot來生成https證書

這個工具是生成Let's Encrypt證書,

Let's Encrypt數(shù)字證書認證機構,Let's Encrypt 是由互聯(lián)網(wǎng)安全研究小組(ISRG,一個公益組織)提供的服務

提供免費的SSL/TLS證書

2015年12月3日,該服務進入公測階段,正式面向公眾。

2016年4月12日,該項目正式離開Beta階段。

到2016年9月9日,Let's Encrypt 已經發(fā)放 1000 萬張證書。

因此對于大部分中小型網(wǎng)站來說,是一個值得考慮的選擇。

https配置的步驟

1打開 https://certbot.eff.org/ 選擇對應操作系統(tǒng)與 Web 服務器

這里我選擇nginx服務器,CentOS7服務器上

2執(zhí)行命令,并根據(jù)需要修改相應域名參數(shù)。

certbot要通過yum安裝,certbot被打包到epel源中,

所以安裝啟動epel庫,安裝epel源查看鏈接

https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F

啟動epel源,可以使用手動自己啟動epel,也可以借助yum-config-manager命令來啟動

安裝yum-config-manager

yum -y install yum-utils

啟動epel

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

3安裝certbot

sudo yum install certbot python2-certbot-nginx

獲取證書的兩種方式:身份驗證器和安裝程序

使用webRoot插件進行安裝,這個要求你的服務器80端口能夠正常被訪問到(這個域名是屬于你的)

webRoot插件通過certonly和--webroot(或者-w)在命令行上執(zhí)行命令

certbot certonly -w /var/www/example -d www.example.com

certbot certonly -w 可以被http訪問到的webroot目錄 -d 要配置https的域名名稱

上面的 /var/www/example表示的是在nginx配置文件中root根節(jié)點所指向的根路徑

webroot插件的工作原理是為每個請求的域創(chuàng)建一個臨時文件${webroot-path}/.well-known/acme-challenge。

然后,Let的加密驗證服務器發(fā)出HTTP請求,以驗證每個請求的域的DNS是否解析為運行certbot的服務器。

訪問請求如下

66.133.109.36 - - [05/Jan/2016:20:11:24 -0500] "GET /.well-known/acme-challenge/HGr8U1IeTW4kY_Z6UIyaakzOkyQgPr_7ArlLgtZE8SX HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)"

所以我們服務器需要放通.well-known/acme-challenge這個訪問路徑

例如,

server
  {
    listen 80;
    server_name www.example.com; 
    index index.html ;
    root /var/www/example;
  
    。。。
  
    location ~ /.well-known {
      allow all;
    }
  }

具體的http配置文件

server
  {
    listen 80;
    server_name www.example.com; 
    index index.html ;
    root /var/www/www.example.com;


    location / {
      proxy_redirect off;
      proxy_pass http://localhost:8080;
      proxy_set_header Host $host;
      proxy_set_header  X-real-ip $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    #error_page  404  /404.html;

    location /nginx_status
    {
      #stub_status on;
      #access_log  off;
    }

    location ~ /.well-known {
      allow all;
    }

    location ~ /\.
    {
      deny all;
    }
access_log /data/log/nginx//var/www/www.example.com/-access.log;
    error_log /data/log/nginx//var/www/www.example.com/-error.log;
}

執(zhí)行完命令后,https證書就會生成在/etc/letsencrypt/live目錄下

certbot certonly -w /var/www/example -d www.example.com

比如上面的命令會生成證書/etc/letsencrypt/live/www.example.com/fullchain.pem

生成證書密鑰文件/etc/letsencrypt/live/www.example.com/privkey.pem

然后我們只需要為該域名加上https配置,我們nginx就配置完成https

https對應443端口

具體https配置文件

server
  {
    listen 443 ssl http2;
    #listen [::]:443 ssl http2;
    server_name www.example.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root /var/www/www.example.com/;
    
    ssl on;
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
    
   location / {
      proxy_redirect off;
      proxy_pass http://localhost:8080;
      proxy_set_header Host $host;
      proxy_set_header  X-real-ip $remote_addr;
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    #error_page  404  /404.html;

    include enable-php-pathinfo.conf;

    location ~ /.well-known {
      allow all;
    }

    location ~ /\.
    {
      deny all;
    }

    access_log /data/log/nginx/www.example.com-ssl-access.log;
    error_log /data/log/nginx/www.example.com-ssl-error.logs;  
}

查看生產的證書

tree /etc/letsencrypt/live/

證書續(xù)簽

Let's Encrypt 生成的免費證書為3個月時間,但是我們可以無限次續(xù)簽證書

certbot renew

使用定時器來自動重新生成證書

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

centos6使用

1獲取certbot客戶端

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

2停止nginx

service nginx stop

3生成證書

./certbot-auto certonly --standalone --email `你的郵箱地址` -d `你的域名地址`

當前網(wǎng)站有多個域名時需在后面增加,例如

./certbot-auto certonly --standalone --email `你的郵箱地址` -d `你的域名1` -d `你的域名2`

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Nginx 403 forbidden的解決辦法

    Nginx 403 forbidden的解決辦法

    這篇文章主要介紹了Nginx 403 forbidden的解決辦法,,需要的朋友可以參考下
    2014-03-03
  • 解析阿里云centos7服務器nginx配置及常見問題解答

    解析阿里云centos7服務器nginx配置及常見問題解答

    這篇文章主要介紹了阿里云centos7服務器nginx配置及常見問題解答,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Nginx 正向代理和反向代理的配置實現(xiàn)

    Nginx 正向代理和反向代理的配置實現(xiàn)

    Nginx通過優(yōu)秀的架構設計和高效的算法實現(xiàn)了高性能和高可靠性,本文主要介紹了Nginx 正向代理和反向代理的配置實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-06-06
  • Nginx下無法使用中文URL的解決方法

    Nginx下無法使用中文URL的解決方法

    最近發(fā)現(xiàn)有很多的url打不開,后來仔細觀察后發(fā)現(xiàn)是中文url的問題,所以這篇文章主要給大家介紹了Nginx下無法使用中文URL的解決方法,文中提供了兩種方法供大家參考學習,需要的朋友們下面來一起看看吧。
    2017-05-05
  • nginx訪問動態(tài)接口報錯404Not Found問題解決

    nginx訪問動態(tài)接口報錯404Not Found問題解決

    本文主要介紹了nginx訪問動態(tài)接口報錯404Not Found問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • Nginx虛擬主機的搭建的實現(xiàn)步驟

    Nginx虛擬主機的搭建的實現(xiàn)步驟

    本文主要介紹了Nginx虛擬主機的搭建的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • centos7編譯安裝nginx的方法步驟

    centos7編譯安裝nginx的方法步驟

    這篇文章主要介紹了centos7編譯安裝nginx的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • k8s部署nginx的三種方式小結

    k8s部署nginx的三種方式小結

    本文主要介紹了k8s部署nginx的三種方式小結,主要包括直接部署、使用數(shù)據(jù)卷部署、使用ConfigMap部署,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • 詳解Nginx服務器中配置超時時間的方法

    詳解Nginx服務器中配置超時時間的方法

    這篇文章主要介紹了Nginx服務器中配置超時時間的方法,同時也對Nginx中的時間管理機制作了詳細的介紹,需要的朋友可以參考下
    2015-12-12
  • 關于使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用問題

    關于使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用問題

    這篇文章主要介紹了使用Keepalived實現(xiàn)Nginx的自動重啟及雙主熱備高可用,本文通過幾個問題解析幫助大家學習Keepalived實現(xiàn)Nginx的自動重啟的相關知識,需要的朋友可以參考下
    2021-09-09

最新評論