Nginxの公式Dockerイメージ　alpine nginxのnginx.conf

nginxの公式Dockerイメージを実行したときに生成されるconfファイルです。
alpineで実行されるものです。

[docker-nginx/mainline/alpine at master · nginxinc/docker-nginx](https://github.com/nginxinc/docker-nginx/tree/master/mainline/alpine)

## /etc/nginx/nginx.conf

```nginx.conf                                                                                         
user  nginx;                                                                                        
worker_processes  auto;                                                                             
                                                                                                    
error_log  /var/log/nginx/error.log warn;                                                           
pid        /var/run/nginx.pid;                                                                      
                                                                                                    
                                                                                                    
events {                                                                                            
    worker_connections  1024;                                                                       
}                                                                                                   
                                                                                                    
                                                                                                    
http {                                                                                              
    include       /etc/nginx/mime.types;                                                            
    default_type  application/octet-stream;                                                         
                                                                                                    
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       
                      '$status $body_bytes_sent "$http_referer" '                                   
                      '"$http_user_agent" "$http_x_forwarded_for"';                                 
                                                                                                    
    access_log  /var/log/nginx/access.log  main;                                                    
                                                                                                    
    sendfile        on;                                                                             
    #tcp_nopush     on;                                                                             
                                                                                                    
    keepalive_timeout  65;                                                                          
                                                                                                    
    #gzip  on;                                                                                      
                                                                                                    
    include /etc/nginx/conf.d/*.conf;                                                               
}
```

## /etc/nginx/conf.d/default.conf

```nginx.conf
server {                                                                                            
    listen       80;                                                                                
    listen  [::]:80;                                                                                
    server_name  localhost;                                                                         
                                                                                                    
    #charset koi8-r;                                                                                
    #access_log  /var/log/nginx/host.access.log  main;                                              
                                                                                                    
    location / {                                                                                    
        root   /usr/share/nginx/html;                                                               
        index  index.html index.htm;                                                                
    }                                                                                               
                                                                                                    
    #error_page  404              /404.html;                                                        
                                                                                                    
    # redirect server error pages to the static page /50x.html                                      
    #                                                                                               
    error_page   500 502 503 504  /50x.html;                                                        
    location = /50x.html {                                                                          
        root   /usr/share/nginx/html;                                                               
    }                                                                                               
                                                                                                    
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80                                     
    #                                                                                               
    #location ~ \.php$ {                                                                            
    #    proxy_pass   http://127.0.0.1;                                                             
    #}                                                                                              
                                                                                                    
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000                            
    #                                                                                               
    #location ~ \.php$ {                                                                            
    #    root           html;                                                                       
    #    fastcgi_pass   127.0.0.1:9000;                                                             
    #    fastcgi_index  index.php;                                                                  
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;                              
    #    include        fastcgi_params;                                                             
    #}                                                                                              
                                                                                                    
    # deny access to .htaccess files, if Apache's document root                                     
    # concurs with nginx's one                                                                      
    #                                                                                               
    #location ~ /\.ht {                                                                             
    #    deny  all;                                                                                 
    #}                                                                                              
}
```

# プレーンのaplineにNginxを入れたときに生成されるConfig

```etc/nginx/nginx.conf 
include /etc/nginx/modules/*.conf;                                                             
                                                                                               
                                                                                               
events {                                                                                       
        # The maximum number of simultaneous connections that can be opened by                 
        # a worker process.                                                                    
        worker_connections 1024;                                                               
}                                                                                              
                                                                                               
http {                                                                                         
        # Includes mapping of file name extensions to MIME types of responses                  
        # and defines the default type.                                                        
        include /etc/nginx/mime.types;                                                         
        default_type application/octet-stream;                                                 
                                                                                               
        # Name servers used to resolve names of upstream servers into addresses.               
        # It's also needed when using tcpsocket and udpsocket in Lua modules.                  
        #resolver 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001;                   
                                                                                               
        # Don't tell nginx version to the clients. Default is 'on'.                            
        server_tokens off;                                                                     
                                                                                               
        # Specifies the maximum accepted body size of a client request, as                     
        # indicated by the request header Content-Length. If the stated content                
        # length is greater than this size, then the client receives the HTTP                  
        # error code 413. Set to 0 to disable. Default is '1m'.                                
        client_max_body_size 1m;                                                               
                                                                                               
        # Sendfile copies data between one FD and other from within the kernel,                
        # which is more efficient than read() + write(). Default is off.                       
        sendfile on;                                                                           
                                                                                               
        # Causes nginx to attempt to send its HTTP response head in one packet,                
        # instead of using partial frames. Default is 'off'.                                   
        tcp_nopush on;                                                                         
                        
        # Enables the specified protocols. Default is TLSv1 TLSv1.1 TLSv1.2.                   
        # TIP: If you're not obligated to support ancient clients, remove TLSv1.1.             
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;                                                 
                                                                                               
        # Path of the file with Diffie-Hellman parameters for EDH ciphers.                     
        # TIP: Generate with: `openssl dhparam -out /etc/ssl/nginx/dh2048.pem 2048`            
        #ssl_dhparam /etc/ssl/nginx/dh2048.pem;                                                
                                                                                               
        # Specifies that our cipher suits should be preferred over client ciphers.             
        # Default is 'off'.                                                                    
        ssl_prefer_server_ciphers on;                                                          
                                                                                               
        # Enables a shared SSL cache with size that can hold around 8000 sessions.             
        # Default is 'none'.                                                                   
        ssl_session_cache shared:SSL:2m;                                                       
                                                                                               
        # Specifies a time during which a client may reuse the session parameters.             
        # Default is '5m'.                                                                     
        ssl_session_timeout 1h;                                                                
                                                                                               
        # Disable TLS session tickets (they are insecure). Default is 'on'.                    
        ssl_session_tickets off;                                                               
                                                                                               
                                                                                               
        # Enable gzipping of responses.                                                        
        #gzip on;                                                                              
                                                                                               
        # Set the Vary HTTP header as defined in the RFC 2616. Default is 'off'.               
        gzip_vary on;                                                                          
                                                                                               
                                                                                               
        # Helper variable for proxying websockets.                                             
        map $http_upgrade $connection_upgrade {                                                
                default upgrade;                                                               
                '' close;                                                                      
        }                                                                                      
                                                                                               
                                                                                               
        # Specifies the main log format.                                                       
        log_format main '$remote_addr - $remote_user [$time_local] "$request" '                
                        '$status $body_bytes_sent "$http_referer" '                            
                        '"$http_user_agent" "$http_x_forwarded_for"';                          
                                                                                               
        # Sets the path, format, and configuration for a buffered log write.                   
        access_log /var/log/nginx/access.log main;                                             
                                                                                               
                                                                                               
        # Includes virtual hosts configs.                                                      
        include /etc/nginx/http.d/*.conf;                                                      
                                                                                               
        # WARNING: Don't use this directory for virtual hosts anymore.                         
        # This include will be moved to the root context in Alpine 3.14.                       
        #include /etc/nginx/conf.d/*.conf;                                                     
}                                                                                              
                                                                                               
# TIP: Uncomment if you use stream module.                                                     
#include /etc/nginx/stream.conf;
```

```/etc/nginx/http.d/default.conf

# This is a default site configuration which will simply return 404, preventing
# chance access to any other virtualhost.

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # Everything is a 404
        location / {
                return 404;
        }

        # You may need this to prevent return 404 recursion.
        location = /404.html {
                internal;
        }
}
```

```/usr/share/nginx/http-default_server.conf

# This is a default site configuration which will simply return 404, preventing
# chance access to any other virtualhost.

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # Everything is a 404
        location / {
                return 404;
        }

        # You may need this to prevent return 404 recursion.
        location = /404.html {
                internal;
        }
}
```