91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx開啟更為安全的tls1.3怎么用

發布時間:2021-12-13 09:31:16 來源:億速云 閱讀:489 作者:小新 欄目:網絡安全

這篇文章給大家分享的是有關nginx開啟更為安全的tls1.3怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

我這里用的系統是Debian 8

第一步:安裝依賴 

$ apt-get install git gcc make build-essential zlib1g-dev libpcre3-dev

第二步:下載源碼和補丁

$ mkdir -p /usr/src

$ cd /usr/src

$ git clone git://git.openssl.org/openssl.git openssl

$ git clone https://github.com/hakasenyang/openssl-patch.git openssl-patch

$ git clone https://github.com/kn007/patch.git nginx-patch

$ wget https://nginx.org/download/nginx-1.15.0.tar.gz

$ tar zxvf ./nginx-1.15.0.tar.gz

第三步:打補丁 

1,給OpenSSL打補丁,補丁的意義在于使OpenSSL支持最新的TLS1.3.

補丁地址:https://github.com/hakasenyang/openssl-patch

$ cd /usr/src/openssl

$ patch -p1 < ../openssl-patch/openssl-equal-pre8_ciphers.patch

2,給Nginx打補丁,nginx 補丁添加SPDY支持,添加HTTP2 HPACK編碼支持,添加動態TLS記錄支持

補丁地址:https://github.com/kn007/patch

fix_nginx_hpack_push_error 補丁修復nginx的http2 push和http2 hpack兼容性問題

nginx_auto_using_PRIORITIZE_CHACHA 補丁添加在使用OpenSSL1.1.1時SSL_OP_PRIORITIZE_CHACHA的支持。

$ cd /usr/src/nginx-1.15.0

$ patch -p1 < ../nginx-patch/nginx.patch

$ patch -p1 < ../nginx-patch/fix_nginx_hpack_push_error.patch

$ patch -p1 < ../nginx-patch/nginx_auto_using_PRIORITIZE_CHACHA.patch

第四步:編譯安裝

$ ./configure \

--sbin-path=/usr/sbin/nginx \

--conf-path=/etc/nginx/nginx.conf \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--with-openssl=../openssl \

--with-http_v2_module \

--with-http_v2_hpack_enc \

--with-http_spdy_module \

--with-http_ssl_module \

--with-http_gzip_static_module \

--http-log-path=/var/log/nginx/access.log \

--error-log-path=/var/log/nginx/error.log

$ make

$ make install

Nginx的可執行文件安裝在/usr/sbin/,Nginx配置文件在/etc/nginx/里

第五步:配置

1,修改Nginx全局配置:

將以下內容填入:/etc/nginx/nginx.conf

worker_processes auto;

pid /var/run/nginx.pid;

error_log  /var/log/nginx/error.log;

events {

  use epoll;

  multi_accept on;

  worker_connections 1024;

}

http {

    charset utf-8;

    include /etc/nginx/mime.types;

    default_type  application/octet-stream;

    access_log  /var/log/nginx/access.log;

    sendfile on;

    tcp_nopush on;

    tcp_nodelay on;

    keepalive_timeout 60;

    gzip on;

    gzip_vary on;

    gzip_proxied any;

    gzip_min_length 1k;

    gzip_buffers 4 8k;

    gzip_comp_level 2;

    gzip_disable  "msie6";

    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;

    include /etc/nginx/vhost/*.conf;

}

2,修改Nginx站點配置

我們已經在全局配置里設置了包含/etc/nginx/vhost/目錄下的conf文件

$ mkdir -p /etc/nginx/vhost

在然后/etc/nginx/vhost/里創建站點配置,這里統一用“域名”文字代替真實域名

server {

  listen 80;

  server_name 域名;

  root /wwwroot/域名;

  location / {

    index  index.html;

  }

}

這樣HTTP的站點配置就弄好了,不過還站點還沒頁面,我們可以先把Nginx的歡迎頁面給放進去

mkdir -p /wwwroot/域名

$ cp /usr/local/nginx/html/index.html /wwwroot/域名/

$ nginx

啟動Nginx后HTTP頁面就正常了,打開就能看到歡迎頁面。

第六步:簽發證書

配置HTTPS首先要有證書,我這里是使用acme.sh自動頒發讓我們加密的證書

1,安裝工具:

apt-get install cron socat

2,獲取acme.sh:

curl  https://get.acme.sh | sh

3,生成證書:

使用http方式驗證域名,這是我們先搭建HTTP站點的原因,接下來指定域名,指定站點目錄,開始簽發

acme.sh --issue -d 域名 --webroot /wwwroot/域名/ --keylength ec-256 --nginx

4,復制證書:

證書已經簽發,保存在~/.acme.sh/里

$ acme.sh --ecc --installcert -d 域名 \

        --key-file /etc/nginx/ssl/域名.key \

        --fullchain-file /etc/nginx/ssl/域名.cer \

        --reloadcmd "nginx -s reload"

指定域名,指定證書保存目錄,我這里設置在/etc/nginx/ssl/,指定Nginx重載命令,如果簽發的不是ECC證書,把--ecc參數去掉

這樣使用acme.sh就完成了證書的簽發,如果證書快要過期了,腳本會自動更新證書

腳本自動更新,可以使用以下命令

$ acme.sh --upgrade --auto-upgrade

第七步:HTTPS站點配置

我給OpenSSL打的是pre8_ciphers補丁,所以配置文件如下:

server {

  listen      80;

  server_name 域名;

  return 301 https://域名$request_uri;

}

server {

  listen 443 ssl http2;

  server_name 域名;

  root /wwwroot/域名;

  ssl_certificate       /etc/nginx/ssl/域名.cer;

  ssl_certificate_key   /etc/nginx/ssl/域名.key;

  ssl_protocols TLSv1.2 TLSv1.3;

  ssl_ciphers [TLS13+AESGCM+AES128|TLS13+AESGCM+AES256|TLS13+CHACHA20]:[EECDH+ECDSA+AESGCM+AES128|EECDH+ECDSA+CHACHA20]:EECDH+ECDSA+AESGCM+AES256:EECDH+ECDSA+AES128+SHA:EECDH+ECDSA+AES256+SHA:[EECDH+aRSA+AESGCM+AES128|EECDH+aRSA+CHACHA20]:EECDH+aRSA+AESGCM+AES256:EECDH+aRSA+AES128+SHA:EECDH+aRSA+AES256+SHA:RSA+AES128+SHA:RSA+AES256+SHA:RSA+3DES;

  ssl_ecdh_curve X25519:P-256:P-384;

  ssl_prefer_server_ciphers on;

  ssl_session_cache shared:SSL:50m;

  ssl_session_timeout 1d;

  ssl_session_tickets on;

  ssl_stapling on;

  ssl_stapling_verify on;

  add_header Strict-Transport-Security max-age=15768000;

  location / {

    index  index.html;

    http2_push /style.css;

  }

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {

    expires 30d;

  }

  location ~ .*\.(js|css)?$ {

    expires 15d;

  }

  location ~ /.git/ {

    deny all;

  }

}

以上就是完整的站點配置文件,覆蓋/etc/nginx/vhost/域名.conf后,使用nginx -s reload重載Nginx再打開站點就能看到HTTPS的頁面了

感謝各位的閱讀!關于“nginx開啟更為安全的tls1.3怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天柱县| 姚安县| 即墨市| 卓资县| 教育| 瑞金市| 仲巴县| 惠安县| 婺源县| 宣恩县| 北海市| 金乡县| 资源县| 抚州市| 奉新县| 崇义县| 高平市| 尉犁县| 乐山市| 五台县| 石家庄市| 临夏市| 广丰县| 灵台县| 唐河县| 江阴市| 咸阳市| 武邑县| 临颍县| 施甸县| 五原县| 南乐县| 红河县| 曲麻莱县| 四子王旗| 阳城县| 嘉定区| 句容市| 云安县| 郑州市| 闽清县|