ตั้งค่า Nginx ให้ขอ Login Basic Authentication ใน path ที่ต้องการ
Published in:2024-03-10 | Categories: Linux Tutorial

เตรียมความพร้อม

ในบทความนี้ต้องการ Nginx Web Server ที่ทำการติดตั้งเรียบร้อยแล้ว หากยังไม่มีสามารถดูวิธีติดตั้งได้ ที่นี่

ติดตั้ง Nginx web server

1. ติดตั้งเครื่องมือสำหรับสร้างไฟล์เก็บระหัสผ่านด้วยคำสั่งด้านล่าง

1
$ sudo apt-get install apache2-utils

2. สร้าง directory เก็บไฟล์รหัสผ่าน

1
$ sudo mkdir /etc/nginx/authdb

3. สร้างไฟล์รหัสผ่านด้วยคำสั่งด้านล่าง

1
$ sudo htpasswd -c /etc/nginx/authdb/mysecret usersushi

4. เปิดไฟล์ config ของ domain ที่ต้องการและแก้ไขในส่วนของ server

1
2
3
4
5
6
7
8
9
10
11
12
server {
root /var/www/test.sugoidev.com;
server_name test.sugoidev.com;
location / { #path ที่ต้องการให้ขอ Login Basic Authentication กรณีนี้คือ root ของ url
#....
auth_basic "My Secret Space"; #ข้อความที่จะให้แสดงตอนขอ Login browser เก่า
auth_basic_user_file /etc/nginx/authdb/mysecret; #path ไฟล์เก็บรหัสผ่าน
#....
}

# ด้านล่างหากมี # managed by Certbot ไม่ต้องแก้ไขให้ทิ้งไว้แบบเดิม
}

5. ทดสอบ config nginx ว่าถูกต้องหรือไม่โดยใช้คำสั่งด้านล่าง

1
$ sudo nginx -t

6. ทำการ restart nginx โดยใช้สำสั่งด้านล่าง

1
$ sudo /etc/init.d/nginx restart

7. ทดสอบหน้าเว็บโดยเปิดเว็บผ่าน web browser หากทุกอย่างถูกต้องจะพบหน้าให้ใส่ username และ password

Prev:
วิธีติดตั้ง Stable Diffusion WebUI เพื่อใช้ AI ในการสร้างภาพจากข้อความบน Windows
Next:
ตั้งค่า Nginx ให้แสดงรายชื่อไฟล์ทั้งหมดใน Directory เพื่อ Download