ports:nginx

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ports:nginx [2020/04/24 10:38] – [FreeBSD] davidports:nginx [2023/06/03 22:26] (Version actuelle) – [Chiffrement] david
Ligne 17: Ligne 17:
 C'est une interface non-bloquante pour écouter les sockets(2) plus performantes que les ancêtres poll(2) ou select(2). C'est une interface non-bloquante pour écouter les sockets(2) plus performantes que les ancêtres poll(2) ou select(2).
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
 events { events {
         worker_connections  1024;         worker_connections  1024;
Ligne 24: Ligne 24:
 </file> </file>
  
- --- //[[david@dmarec.fr|david Marec]] 2020/04/24 10:38//+ 
 +---
 [[http://nginx.org/en/docs/events.html|events du contexte main]]. [[http://nginx.org/en/docs/events.html|events du contexte main]].
  
Ligne 33: Ligne 35:
  
   * Autorisez les Entrée/Sorties asynchrones, aio(4) et sendfile(2):   * Autorisez les Entrée/Sorties asynchrones, aio(4) et sendfile(2):
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
 http { http {
         sendfile        on;         sendfile        on;
         aio            on;         aio            on;
- 
 } }
 </file> </file>
Ligne 43: Ligne 44:
   * activez l'option ''TCP_NOPUSH'' des sockets de FreeBSD, pour éviter de pousser de trop petits paquets dans le réseau:   * activez l'option ''TCP_NOPUSH'' des sockets de FreeBSD, pour éviter de pousser de trop petits paquets dans le réseau:
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
 http { http {
         tcp_nopush     on;         tcp_nopush     on;
-        output_buffers   1 32k; 
-        postpone_output  1460; 
 } }
 </file> </file>
  
-==== server ====+==== serveur ====
  
-Il s'agit des directives du [[http://nginx.org/en/docs/http/ngx_http_core_module.html|hôtes virtuels de Nginx]]. +Il s'agit des directives des [[http://nginx.org/en/docs/http/ngx_http_core_module.html|hôtes virtuels de Nginx]]. 
  
 En particulier la directive ''listen'', qui permet de paramétrer une socket en utilisant par exemple ''http2'' sur ''ssl''. En particulier la directive ''listen'', qui permet de paramétrer une socket en utilisant par exemple ''http2'' sur ''ssl''.
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
 server { server {
                 listen [::]:443 ssl http2;                 listen [::]:443 ssl http2;
Ligne 67: Ligne 66:
 Attention, comme toutes les directives qui sont des options appliquées aux sockets, elles ne sont valides et acceptées qu'une seule fois, c'est à dire pour un seul couple //adresse:port//. Attention, comme toutes les directives qui sont des options appliquées aux sockets, elles ne sont valides et acceptées qu'une seule fois, c'est à dire pour un seul couple //adresse:port//.
 </note> </note>
 +
 +=== Filtres ===
 +
 +Le noyau de FreeBSD permet de définir des [[https://www.freebsd.org/cgi/man.cgi?accf_http|filtres]] qui vont vérifier le contenu du flux avant de la passer à une //socket//.
 +
 +''Nginx'' comprend ''accept_filter=httpready'' et ''accept_filter=dataready''. Assuez vous d'avoir activé les options suivantes dans le noyau:
 +
 +  - ACCEPT_FILTER_HTTP
 +  - ACCEPT_FILTER_DATA
 +
 +Ou de charger les modules:
 +
 +  - accf_http
 +  - accf_data
 +
 +Pour pouvoir définir ces filtres derrière la directive ''listen''.
 +
  
 === Fast open === === Fast open ===
Ligne 78: Ligne 94:
 Ajoutez le à une directive ''listen'': Ajoutez le à une directive ''listen'':
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
 server { server {
                 listen [::]:443 ssl http2 fastopen=256;                 listen [::]:443 ssl http2 fastopen=256;
Ligne 96: Ligne 112:
 Par exemple, pour rejeter d'office les requêtes louches: Par exemple, pour rejeter d'office les requêtes louches:
  
-<file javascript /usr/local/etc/nginx/drop.conf>+<file nginx /usr/local/etc/nginx/drop.conf>
  
 location = /robots.txt  { access_log off; log_not_found off; } location = /robots.txt  { access_log off; log_not_found off; }
Ligne 107: Ligne 123:
 Il suffit ensemble de le préciser dans les serveurs concernés: Il suffit ensemble de le préciser dans les serveurs concernés:
  
-<file javascript /usr/local/etc/nginx/nginx.conf>+<file nginx /usr/local/etc/nginx/nginx.conf>
  server {  server {
                 listen [::]:80 ;                 listen [::]:80 ;
Ligne 120: Ligne 136:
 Vous pouvez de la même manière mettre la configuration d'un serveur dans un fichier à part. Vous pouvez de la même manière mettre la configuration d'un serveur dans un fichier à part.
  
-===== SSH =====+===== Chiffrement =====
  
 Lorsque vous voulez fournir le [[http://nginx.org/en/docs/http/configuring_https_servers.html|protocole HTTPS]], outre le chiffrement en lui même,vous allez devoir demander des certificats à une autorité de certification. Lorsque vous voulez fournir le [[http://nginx.org/en/docs/http/configuring_https_servers.html|protocole HTTPS]], outre le chiffrement en lui même,vous allez devoir demander des certificats à une autorité de certification.
Ligne 126: Ligne 142:
 Un outil de certification dédié à //Nginx// existe pour cela, [[https://www.freshports.org/security/py-certbot-nginx|certbot-nginx]]. Un outil de certification dédié à //Nginx// existe pour cela, [[https://www.freshports.org/security/py-certbot-nginx|certbot-nginx]].
  
-Par contre, pour certains service, il vous faudra un chiffrement plus solide, voici ceux conseillés par [[https://wiki.mozilla.org/Security/Server_Side_TLS|Mozilla]]:+Par contre, pour certains services, il vous faudra un chiffrement plus solide, voici ceux conseillés par [[https://wiki.mozilla.org/Security/Server_Side_TLS|Mozilla]]:
  
 <code bash> <code bash>
-root@popeye:/#openssl dhparam -out /usr/local/etc/nginx/dhparam.pem 2048+openssl dhparam -out /usr/local/etc/nginx/dhparam.pem 2048
 </code> </code>
  
 Que vous allez donner à votre serveur virtuel: Que vous allez donner à votre serveur virtuel:
  
-<file bash /usr/local/etc/nginx.conf>+<file nginx /usr/local/etc/nginx.conf>
 server { server {
  ssl_dhparam /usr/local/etc/nginx/dhparam.pem;  ssl_dhparam /usr/local/etc/nginx/dhparam.pem;
Ligne 152: Ligne 168:
  
  
-  * ''TLSv1.3'' est disponible en base sous FreeBSD 12, puisque la version de ssl(3) est au moins ''1.1.1''. TLSV1.1 n'est pas considéré comme sûr.+<callout type="info" icon="true">  
 +''TLSv1.3'' est disponible en base sous FreeBSD 12, puisque la version de ssl(3) est au moins ''1.1.1''\\ TLSV1.1 n'est pas considéré comme sûr. 
 +</callout> 
  
 [[https://www.ssllabs.com/ssltest|Tester le]] ! [[https://www.ssllabs.com/ssltest|Tester le]] !
  
-Mis à part les certificats sur les domaines, vous pouvez aussi utilisez ces options de manière générale, dans la rubrique mère ''http''+<note tuyau>
- +
-<note important>+
 Mis à part les certificats, vous pouvez placer ces directives sous ''http'' pour les propager à tous les serveurs. Mis à part les certificats, vous pouvez placer ces directives sous ''http'' pour les propager à tous les serveurs.
 </note> </note>
  
  • ports/nginx.1587724734.txt.gz
  • Dernière modification : 2020/04/24 10:38
  • de david