Cấu hình nginx chạy Wordpress và redirect http to https trên Nginx
Với các server chạy Apache để tự động chuyển từ http sang https chúng ta sẽ edit file .htaccess Nhưng với nginx thì không sử dụng .htaccess nên sẽ phải cấu hình file vhost (tương tự .htaccess trên Apache). Lưu ý: Trước khi các bạn đọc tiếp thì lưu ý. Tú không phải chuyên về Server, mình chỉ tự học và chia sẻ nội dung này để làm phần ghi nhớ cho bản thân. Khi công việc hiện tại và trong tương lai cần sử dụng đến mình có thể đọc lại, fix lỗi cho sản phẩm nhanh chóng. Bởi vậy, bạn nên cân nhắc và backup trước khi làm theo. Cách tìm ra file vhost của User để cấu hình
- Với Server chạy Directadmin thông thường sẽ đặt ở đường dẫn (tên file là nginx.conf): /usr/local/directadmin/data/users/
Cấu hình tự động chuyển từ http sang https trên nginx
Đầu tiên mở file vhost của user Bạn tìm đoạnserver_name
Thêm vào bên dưới nó. server_name _; return 301 https://$host$request_uri;
[/code] Lưu ý: Với Website sử dụng DirectAdmin thì khi cài đặt https thì nó sẽ tự tạo ra 2 phần cấu hình với cổng 80 (http) và 443 (chạy ssl). Chúng ta sẽ thêm đoạn trên vào phần cấu hình cho http . (Bạn có thể tham khảo nội dung file vhost của Tú để hiểu rõ hơn) # Auto generated nginx config file by DirectAdmin version 1.50.1 # Modifying this file is not recommended as any changes you make will be # overwritten when the user makes any changes to their website # For global config changes that affect all Users, see this guide: # http://help.directadmin.com/item.php?id=558 # For local config changes that only affect one User, see this guide: # http://help.directadmin.com/item.php?id=3 server { listen 103.47.193.16:80; server_name nguyencaotu.com www.nguyencaotu.com ; server_name _; return 301 https://$host$request_uri; access_log /var/log/nginx/domains/nguyencaotu.com.log; access_log /var/log/nginx/domains/nguyencaotu.com.bytes bytes; error_log /var/log/nginx/domains/nguyencaotu.com.error.log; root /home/*****/domains/nguyencaotu.com/public_html; index index.php index.html index.htm; include /usr/local/directadmin/data/users/*****/nginx_php.conf; include /etc/nginx/webapps.conf; location / { try_files $uri $uri/ /index.php?$args ; } } server { listen 103.47.193.16:443 ssl; server_name nguyencaotu.com www.nguyencaotu.com ; access_log /var/log/nginx/domains/nguyencaotu.com.log; access_log /var/log/nginx/domains/nguyencaotu.com.bytes bytes; error_log /var/log/nginx/domains/nguyencaotu.com.error.log; root /home/*****/domains/nguyencaotu.com/private_html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args ; } ssl on; ssl_certificate /usr/local/directadmin/data/users/*****/domains/nguyencaotu.com.cert.combined; ssl_certificate_key /usr/local/directadmin/data/users/*****/domains/nguyencaotu.com.key; include /usr/local/directadmin/data/users/*****/nginx_php.conf; include /etc/nginx/webapps.ssl.conf; }
Cấu hình chạy wordpress trên nginx Mặc định nếu ko cấu hình lại vhost thì toàn bộ link của Website sử dụng Wordpress khi click vào sẽ báo lỗi 404. Để làm điều này bạn thêm đoạn mã sau vào vhost trước thẻ đóng }. (tham khảo đoạn cấu hình mẫu của Tú ở trên) location / { try_files $uri $uri/ /index.php?$args ;
Bài viết này sẽ tiếp tục được cập nhật. Tú sẽ sử dụng nó để ghi chú lại những cấu hình thường sử dụng trên nginx cho wordpress. Tú không chuyên về Server và chỉ tự học, nếu có gì hiểu sai rất mong được các bạn comment góp ý. Cảm ơn.
Bình luận