之前分享了 前後端都用得上的 Nginx 日常使用經驗 ,在配置 elk 的時候增加了nginx basic auth 和 IP百名的配置,作爲補充分享。
配置 nginx 域名轉發
常規的轉發配置,不需要https部分去掉即可,一般只需要修改域名和轉發地址
server {
listen 80;
listen 443 ssl;
server_name kibana.devops.test.com; # 自行修改成你的域名
ssl_certificate /certs/kibana.devops.test.com/server.crt;
ssl_certificate_key /certs/kibana.devops.test.com/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://192.168.123.102:5601;
proxy_http_version 1.1;
proxy_buffering off;
proxy_request_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
配置 nginx 基本認證
用於對未提供賬號密碼登錄的服務添加一個前置基本驗證 Basic Auth,在Nginx配置文件中添加以下內容指定密碼文件
location / {
auth_basic "Restricted Content";
# htpasswd 密碼文件
auth_basic_user_file /certs/kibana.devops.test.com/passwd;
}
添加對應的 passwd 文件,使用 htpasswd 生成,如賬號密碼是 root devops666 的配置文件,多個賬號換行添加即可
root:WvesKBTr22.wY
配置完成,重載配置後刷新頁面就提示輸入賬號密碼了
配置 nginx IP白名單
如下所示,能夠只允許 192.168.123.201及10.0.0.0/24網段的IP訪問此路徑
location / {
allow 192.168.123.201; # 允許的IP地址
allow 10.0.0.0/24; # 允許10.0.0.0/24網段的IP地址
deny all; # 拒絕所有其他IP地址
}
最後
修改了配置文件記得重載配置文件: nginx -s reload