Nginx:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
→‎SSL
第52行: 第52行:
    }
    }
}
}
</syntaxhighlight>
== 快速安裝 ==
<syntaxhighlight lang="bash">
sudo apt install nginx-full; echo -e "#\nserver {\n   listen 80 default_server;\n   listen [::]:80 default_server;\n   root /srv/www/public;\n   index index.html;\n   server_name _;\n   location /.well-known/acme-challenge/ {\n     alias /var/www/dehydrated/;\n   }\n}" | sudo tee /etc/nginx/sites-available/default
</syntaxhighlight>
</syntaxhighlight>



2020年3月9日 (一) 05:54的版本

nginx是一套网页服务器,在效能与设定弹性上取得不错的平衡点。

安装

Ubuntu上除了内建版本外(在16.04上内建的是1.10.3),另外官方也有维护PPA可以安装(版本较新):

nginx-light(basic version)、nginx-full(standard version)、nginx-extras(extended version)可以安装,一般装nginx-full算是够用。

设定

Log

我希望记录使用者在HTTPS环境下用的TLS Protocol与Cipher,所以将这两个资讯放到Log内。

/etc/nginx/conf.d/combined_ssl.conf内的设定如下:

#
log_format combined_ssl '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $ssl_protocol/$ssl_cipher';

SSL

/etc/nginx/conf.d/ssl.conf内的设定如下:

ssl_protocols TLSv1 TLSv1.2;
ssl_ciphers "CHACHA20+ECDHE:AESGCM+ECDHE:AES+ECDHE:CAMELLIA+ECDHE:!ADH:!AECDH:!DSS:!ECDSA:!MD5:!SHA1";
ssl_session_cache shared:SSL:30m;
ssl_session_timeout 30m;

这跟其他网站上建议的有些差异:

直接关掉TLSv1.1
因为就浏览器安全性来说,应该使用TLSv1.2,就相容性来说,则是使用TLSv1.0,而目前没有看到需要开TLSv1.1才会动情况,直接关掉反而可以避免nginx实做TLSv1.1有问题时的风险(因为用的人少,眼球会比较少,这个协定风险反而比另外两个高)。
试着支援非NIST架构的协定:
目前cipher都是NIST所选出的协定,所以还是多选了ChaCha20与Camellia让使用者可以用。

范例

这边是/etc/nginx/sites-available/default的内容,配合Dehydrated的需求:

#
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /srv/www/public;
    index index.html;
    server_name _;

    location /.well-known/acme-challenge/ {
        alias /var/www/dehydrated/;
    }
}

快速安装

sudo apt install nginx-full; echo -e "#\nserver {\n    listen 80 default_server;\n    listen [::]:80 default_server;\n    root /srv/www/public;\n    index index.html;\n    server_name _;\n    location /.well-known/acme-challenge/ {\n        alias /var/www/dehydrated/;\n    }\n}" | sudo tee /etc/nginx/sites-available/default

外部链接