skip to content

Search

Bài viết RSS feed

2020

  • 1. WWW-Authenticate header WWW-Authenticate response header được server trả về cùng với Status 401 Unauthorized giúp client biết được phương thức xác thực nào được hỗ trợ. Qua đó client có thể gửi thông tin xác thực với phương thức tương ứng qua Authorization header. Ví dụ khi server response với header WWW-Authenticate: Basic thì trình duyệt sẽ hiện lên hộp thoại yêu cầu người dùng nhập username và password. HTTP/1.1 401 Unauthorized WWW-Authenticate: Basic Basic Auth Dialog Xem thêm tại https://phpnews.io/feeditem/401-unauthorized 2. php-fpm clear env Trong quá trình làm việc thì mình gặp một vấn đề là khi chạy bằng PHP CLI thì ứng dụng của mình có thể đọc được biến mối trường (biến môi trường của hệ điều hành chứ không phải trong file .env ) nhưng khi chạy qua Nginx & php-fpm thì lại không có. Sau một hồi tìm hiểu là php-fpm có 1 config là clear_env . Chi tiết https://www.php.net/manual/en/install.fpm.configuration.php#clear-env #/etc/php/7.3/fpm/pool.d/www.conf ; Clear environment in FPM workers ; Prevents arbitrary environment variables from reaching FPM worker processes ; by clearing the environment in workers before env vars specified in this ; pool configuration are added. ; Setting to " no " will make all environment variables available to PHP code ; via getenv () , $_ENV and $_SERVER . ; Default Value: yes ; clear_env = no Mặc định clear_env sẽ được đặt là yes và php-fpm worker sẽ không đọc được các biết môi trường. Để ứng dụng có thể đọc được biến môi trường khi chạy bằng php-fpm thì có thể dùng 1 trong 2 cách sau: Sửa config clear_env của php-fpm thành no Dùng PHP CLI load biến môi trường ra 1 file rồi sau đó ứng dụng sẽ load các biến từ file đó. Laravel framework có built-in lệnh php artisan config:cache dùng để cache lại config, nếu đặt giá trị của config lấy từ biến môi trường thì giá trị biến môi trường sẽ được cache lại.

  • Những project nhỏ nhỏ của mình đôi khi cần dùng đến database và mình thường chọn dùng Cloud thay vì tự deploy để đỡ phải mất công maintain.

  • 1. OVH Cloud Rescue mode Hôm trước nghịch dại với iptables làm block tất cả kết nối đến VPS, khiến mình không thể SSH được vào VPS. Trong lúc tìm cách fix thì mình phát hiện ra OVH (mình đang dùng VPS ở đây) có tính năng Reboot in rescue mode (chế độ cứu hộ) có thể giúp mình sửa lại config iptables rồi sau đó có thể truy cập ở lại. Nôm na tính năng Reboot in rescue mode là khi máy bạn bị hỏng thì bạn bật một máy khác lên rồi kết nối ổ cứng của máy bạn vào máy đó để sửa chữa. Chi tiết tham khảo thêm ở đây https://docs.ovh.com/gb/en/public-cloud/put_an_instance_in_rescue_mode/ Reboot in rescue mode – OVH Cloud 2. iptables không lưu rules xuống disk trừ khi chạy lệnh iptables-save Sau pha nghịch dại với iptables phía trên, khi vào đến rescue mode thì mình mới nhớ ra iptables rules sẽ không tự động lưu vào disk, muốn lưu vào disk thì cần chạy lệnh iptables-save. Phần này tuy đã được học trong trường rồi nhưng đúng là “văn ôn – võ luyện”, cái gì mà lâu không động đến là quên hết ngay =)) 3. Netlify Custom domains Phần này thì khá đơn giản chỉ cần thêm domain vào app rồi thêm bản ghi CNAME trỏ đến domain default của app là được :D. Docs: https://docs.netlify.com/domains-https/custom-domains/

  • Nội dung hôm nay chủ yếu xoay quanh việc làm con game Dzut Angry Bird 😀

  • Bài viết đầu tiên trong chuyên mục Yesterday I Learned (YIL). Bình thường thì mọi người hay viết TIL nhưng mình thường kết thúc 1 ngày vào khá khuya nên không có thời gian để viết TIL. Vì vậy chuyên mục YIL ra đời để sang ngày hôm sau mình viết về những thứ đã … Tiếp tục đọc Disable WP Plugin từ database | Kiểm tra thiết bị là màn hình cảm ứng bằng Javascript – YIL 2/2/2020 →