NGINX¶
# check the config for syntax errors
sudo nginx -t
# reload nginx
sudo service nginx reload
NGINX installation¶
https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
NGINX config¶
server {
# size of upload files
client_max_body_size 32m;
# 301 redirect
return 301 https://example.com$request_uri;
return 301 https://$host$request_uri;
}
NGINX SSL + auth_basic¶
Add user/password for base auth:
sudo -v
echo "user:`openssl passwd -apr1`" | sudo tee -a /etc/nginx/htpasswd.users
Change the Nginx default server block /etc/nginx/sites-available/default
:
server {
listen 80 default_server;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
# Replace with your hostname
server_name elk.company.com;
ssl on;
# Certs have to exist
ssl_certificate /path/to/keys/cert.crt;
ssl_certificate_key /path/to/keys/key.key;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
NGINX log off¶
Off images access loging in access_log:
location ~* \.(gif|jpg|png) {
access_log off;
}
Change images access logimg location:
location ~* \.(gif|jpg|png)$ {
access_log /path/to/access.log;
}
Off access loging to dir and subdir:
location ^~ /images/ {
access_log off;
}