Cấu hình nginx chạy WordPress và redirect http to https trên Nginx

Cấu hình nginx Redirect 301 cho Wordpress
Cấu hình nginx Redirect 301 cho Wordpress

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ấu hình nginx Redirect 301 cho WordPress
Cấu hình nginx Redirect 301 cho WordPress

Cách tìm ra file vhost của User để cấu hình

  1. 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ạn

[codesyntax lang=”php”]

server_name

[/codesyntax]

Thêm vào bên dưới nó.

[codesyntax lang=”php”]

	server_name _;
	return 301 https://$host$request_uri;

[/codesyntax]

[/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)

[codesyntax lang=”php”]

# 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;
}

[/codesyntax]

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)

[codesyntax lang=”php”]

	location / {
        try_files $uri $uri/ /index.php?$args ;

[/codesyntax]

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.

Tác giả hiện là CEO của Sudo - Công ty thiết kế web, phần mềm. Tú có kiến thức cơ bản về CNNT, chuyên môn am hiểu trong lĩnh vực Online Marketing. "Hạnh phúc không phải là nhận, hạnh phúc chính là sự cho đi" - đây là lý do Tú xây dựng Blog này. Bài viết trên dự dựa trên quan điểm, hiểu biết của cá nhân. Nó có thể đúng, cũng có thể sai tùy thời điểm, vì vậy bạn phải tự cân nhắc và chịu trách nhiệm khi làm theo. Nếu nội hữu ích với bạn, hãy Mời Tú Cao một tách CÀ PHÊ.