Chứng chỉ SSL hiện nay được sử dụng quá phổ biến, hầu hết những website mới hay server mới đều lựa chọn kích hoạt SSL ngay từ ban đầu.
Quá trình cài đặt SSL trên server sẽ cần một số kiến thức kỹ thuật nhất định, trong bài viết này, mình sẽ hướng dẫn các bạn chi tiết cách cài đặt với 2 loại chứng chỉ phổ biến nhất cho tên miền là PositiveSSL từ Comodo và Standard SSL DV từ GoDaddy.
Cả 2 loại chứng chỉ này đều thuộc loại Domain Validation, được dùng rất phổ biến do chi phí rẻ, dễ dàng cài đặt, kích hoạt online không phải xác nhận giấy tờ thông tin gì.
Trong bài mình sẽ cài đặt SSL trên máy chủ Nginx cài đặt HocVPS Script, với các server LEMP khác thao tác cũng tương tự. Với Let’s Encrypt thì các bạn xem bài hướng dẫn này.
Nếu bạn chưa đăng ký chứng chỉ SSL, hãy tham khảo khuyến mại SSL trên blog Canh Me.
Nếu cài xong mà thanh địa chỉ chưa hiện HTTPS màu xanh, hãy tham khảo bài Hướng dẫn cài đặt SSL “xanh hoàn hảo”
Nếu không nắm vững kiến thức kỹ thuật, hãy liên hệ sử dụng Dịch vụ Cài đặt SSL từ Học VPS.
Nội dung bài viết
1. Kích hoạt chứng chỉ
Sau khi đăng ký SSL, bạn cần phải tiến hành kích hoạt thì mới nhận được file chứng chỉ.
Ở bước này, bạn cần phải cung cấp Private Key và CSR file, hãy cẩn thận lưu lại Private Key này để sử dụng ở bước bên dưới. Bạn sẽ được yêu cầu cung cấp nội dung file CSR khi kích hoạt SSL.
Để có 2 key này bạn sử dụng công cụ Tạo CSR Online của Học VPS hoặc dùng lệnh openssl
trên server Linux:
openssl req -new -newkey rsa:2048 -nodes -keyout example_com.key -out example_com.csr
Sau đó bạn sẽ nhận được 2 file:
example_com.key
— Private Key cài trên server của mình.example_com.csr
— file CSR để gửi cho nhà cung cấp dịch vụ SSL.
2. Tạo file Bundle
Kết thúc bước này chúng ta sẽ có file ssl-bundle.crt
, thứ tự các file thao tác ở bước này rất quan trọng, bạn cần lưu ý thực hiện theo cho chuẩn.
a. Chứng chỉ của Comodo
Nếu kích hoạt chứng chỉ SSL thành công, email gửi từ Comodo có tiêu đề tương tự như sau: “Your PositiveSSL Certificate for canhme.com“, trong mail có đính kèm 1 file nén canhme_com.zip
, lúc này có thể có 2 trường hợp.
– File nén .ZIP gồm 2 file:
- canhme_com.crt
- canhme_com.ca-bundle
Bạn dùng text editor, tạo file mới ssl-bundle.crt
chứa nội dung của 2 file, thứ tự lần lượt: canhme_com.crt > canhme_com.ca-bundle
– File nén .ZIP gồm 3 file:
- canhme_com.crt
- COMODO_RSA_Certification_Authority.crt
- AddTrust_External_CA_Root.crt
Bạn dùng text editor, tạo file mới ssl-bundle.crt
chứa nội dung của 3 file, thứ tự lần lượt: canhme_com.crt > COMODO_RSA_Certification_Authority.crt > AddTrust_External_CA_Root.crt
Hoặc chạy lệnh sau:
cat canhme_com.crt COMODO_RSA_Certification_Authority.crt AddTrust_External_CA_Root.crt > ssl-bundle.crt
– File nén .ZIP gồm 4 file:
- canhme_com.crt
- COMODORSADomainValidationSecureServerCA.crt
- COMODORSAAddTrustCA.crt
- AddTrustExternalCARoot.crt
Bạn dùng text editor, tạo file mới ssl-bundle.crt
chứa nội dung của 4 file, thứ tự lần lượt: canhme_com.crt > COMODORSADomainValidationSecureServerCA.crt > COMODORSAAddTrustCA.crt > AddTrustExternalCARoot.crt
Hoặc chạy lệnh sau:
cat canhme_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
– File nén .ZIP gồm 6 file (Sectigo Comodo):
- canhme_com.crt
- canhme.com.key
- USERTrustRSAAddTrustCA.crt
- SectigoRSADomainValidationSecureServerCA.crt
- My_CA_Bundle.ca-bundle
- AddTrustExternalCARoot.crt
Bạn dùng text editor, tạo file mới ssl-bundle.crt
chứa nội dung của 4 file, thứ tự lần lượt: canhme_com.crt > SectigoRSADomainValidationSecureServerCA.crt > USERTrustRSAAddTrustCA.crt > AddTrustExternalCARoot.crt
Hoặc chạy lệnh sau:
cat canhme_com.crt SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot.crt >> ssl-bundle.crt
Và file canhme.com.key
chính là Private Key của chứng chỉ
b. Chứng chỉ của GoDaddy
Với chứng chỉ SSL của GoDaddy, file nén sẽ gồm 2 file, ví dụ:
- 9981e0dcd97c0b37.crt
- gdig2_bundle.crt
Bạn dùng text editor, tạo file mới ssl-bundle.crt
chứa nội dung của 2 file, thứ tự lần lượt: 9981e0dcd97c0b37.crt > gdig2_bundle.crt
3. Cài đặt chứng chỉ SSL
Bước này mình thao tác trên server cài đặt HocVPS Script, với server cài đặt thủ công hoặc các server Nginx khác cách làm cũng tương tự bạn cứ đọc thật kĩ là hiểu. Vướng mắc chỗ nào để lại comment mình sẽ support luôn.
Tạo thư mục chứa file chứng chỉ:
mkdir -p /etc/nginx/ssl/canhme_com/ && cd /etc/nginx/ssl/canhme_com/
Lưu nội dung file chứng chỉ ở thư mục này, copy/paste dùng nano
nano ssl-bundle.crt
Lưu nội dung Private Key chung thư mục:
nano private.key
Kiểm tra độ trùng khớp của chứng chỉ và Private Key, trùng mã MD5 là okie
# openssl x509 -noout -modulus -in ssl-bundle.crt | openssl md5 (stdin)= 334d84440715d4dc1c96ddbcf71a0f8e # openssl rsa -noout -modulus -in private.key | openssl md5 (stdin)= 334d84440715d4dc1c96ddbcf71a0f8e
Tạo file DH parameters 2048 bit, quá trình generate sẽ hơi lâu (tạo một lần duy nhất cho 1 VPS)
openssl dhparam 2048 -out /etc/nginx/ssl/dhparam.pem
Tiếp theo, chúng ta sẽ chỉnh lại file cấu hình Nginx. Ví dụ tên miền của mình là canhme.com
thì file cấu hình sẽ có đường dẫn là /etc/nginx/conf.d/canhme.com.conf
Chỉnh sửa cấu hình Nginx domain với Nano Editor
nano /etc/nginx/conf.d/canhme.com.conf
Cấu hình SSL xử lý các request
Trong block server { ... }
thứ 2 điều chỉnh như sau:
+ Chuyển listen 80 default_server;
thành listen 443 ssl default_server;
+ Sau dòng server_name canhme.com;
thêm đoạn cấu hình SSL đã được mình tối ưu:
# SSL ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; # Improve HTTPS performance with session resumption ssl_session_cache shared:SSL:50m; ssl_session_timeout 1d; # DH parameters ssl_dhparam /etc/nginx/ssl/dhparam.pem; # Enable HSTS add_header Strict-Transport-Security "max-age=31536000" always;
Redirect toàn bộ www http sang https
Trong block server { ... }
ở phía trên cùng:
+ Chuyển server_name www.canhme.com;
thành server_name canhme.com www.canhme.com;
+ Chuyển rewrite ^(.*) http://canhme.com$1 permanent;
thành rewrite ^(.*) https://canhme.com$1 permanent;
Kết quả được như sau:
server { listen 80; server_name canhme.com www.canhme.com; rewrite ^(.*) https://canhme.com$1 permanent; }
Lúc này khi truy cập https://canhme.com và http://www.canhme.com sẽ tự động redirect sang https://canhme.com
Redirect toàn bộ www https sang https
Thêm mới block server { ... }
ở trên cùng
server { listen 443 ssl; server_name www.canhme.com; # SSL ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; rewrite ^(.*) https://canhme.com$1 permanent; }
Lúc này khi truy cập https://www.canhme.com sẽ tự động redirect sang https://canhme.com
Cấu hình SSL với port quản lý HocVPS Script Admin
Lưu ý: Chỉ thiết lập đối với domain chính cài HocVPS – Domain phụ KHÔNG thiết lập.
Đây chỉ là bước tùy chọn, nếu bạn sử dụng Cloudflare và kích hoạt đám mây ẩn IP thì không được làm bước này. Nếu bạn không muốn dùng IP, chỉ muốn dùng domain để truy cập khu vực HocVPS Script Admin thì hãy thao tác như bên dưới.
Ví dụ khi cài đặt mình để port mặc định 2018
.
Tìm block cuối cùng server { ... }
có dòng listen 2018;
Thêm chữ ssl và đoạn cấu hình SSL tương tự như bên dưới:
server { listen 2018 ssl; access_log off; log_not_found off; error_log off; root /home/canhme.com/private_html; index index.php index.html index.htm; server_name canhme.com; error_page 497 https://$server_name:$server_port$request_uri; # SSL ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; auth_basic "Restricted"; auth_basic_user_file /home/canhme.com/private_html/hocvps/.htpasswd; ...
Lúc này link login HocVPS Script Admin sẽ là https://canhme.com:2018, không sử dụng IP nữa.
File cấu hình Nginx cuối cùng sẽ tương tự như sau:
server { listen 443 ssl; server_name www.canhme.com; # SSL ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; rewrite ^(.*) https://canhme.com$1 permanent; } server { listen 80; server_name canhme.com www.canhme.com; rewrite ^(.*) https://canhme.com$1 permanent; } server { listen 443 ssl default_server; # access_log off; access_log /home/canhme.com/logs/access.log; # error_log off; error_log /home/canhme.com/logs/error.log; root /home/canhme.com/public_html; index index.php index.html index.htm; server_name canhme.com; # SSL ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; # Improve HTTPS performance with session resumption ssl_session_cache shared:SSL:50m; ssl_session_timeout 1d; # DH parameters ssl_dhparam /etc/nginx/ssl/dhparam.pem; # Enable HSTS add_header Strict-Transport-Security "max-age=31536000" always; location / { try_files $uri $uri/ /index.php?$args; } # Custom configuration include /home/canhme.com/public_html/*.conf; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_connect_timeout 1000; fastcgi_send_timeout 1000; fastcgi_read_timeout 1000; fastcgi_buffer_size 256k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /home/canhme.com/public_html$fastcgi_script_name; } location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } location /php_status { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/canhme.com/public_html$fastcgi_script_name; include /etc/nginx/fastcgi_params; allow 127.0.0.1; deny all; } # Disable .htaccess and other hidden files location ~ /\.(?!well-known).* { deny all; access_log off; log_not_found off; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ { gzip_static off; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; access_log off; expires 30d; break; } location ~* \.(txt|js|css)$ { add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; access_log off; expires 30d; break; } } server { listen 2018 ssl; access_log off; log_not_found off; error_log /home/canhme.com/logs/nginx_error.log; root /home/canhme.com/private_html; index index.php index.html index.htm; server_name canhme.com; error_page 497 https://$server_name:$server_port$request_uri; # SSL ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; auth_basic "Restricted"; auth_basic_user_file /home/canhme.com/private_html/hocvps/.htpasswd; location / { autoindex on; try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_connect_timeout 1000; fastcgi_send_timeout 1000; fastcgi_read_timeout 1000; fastcgi_buffer_size 256k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; fastcgi_param SCRIPT_FILENAME /home/canhme.com/private_html$fastcgi_script_name; } location ~ /\. { deny all; } }
_ Cấu hình SSL cho domain không phải domain chính trong HocVPS Script:
- Không thiết lập HocVPS Admin Port
- Bỏ tham số
default_server
bên cạnhlisten 443
_ Cloudflare: Để kết hợp sử dụng CDN Cloudflare (biểu tượng đám mây vàng):
- Thiết lập Full (strict) trong menu Crypto SSL tại trang quản lý Cloudflare.
- Không cấu hình SSL phần Admin HocVPS. Khi đó, truy cập HocVPS Admin bằng
ip:port
_ Cấu hình HTTP/2 tham khảo Kích hoạt HTTP/2 với Nginx.
_ Cấu hình OCSP Stappling tham khảo Tối ưu HTTPS trên Nginx.
Kiểm tra lại cấu hình Nginx xem đã chuẩn chưa
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reload lại Nginx : service nginx reload
Nếu bạn dùng WordPress, hãy cài đặt plugin Really Simple SSL để tự động redirect http sang https và chuyển toàn bộ link .css, .js sang https. Thanh địa chỉ lúc này sẽ có màu xanh. Nếu không muốn dùng plugin, bạn hãy tham khảo thêm Hướng dẫn cài đặt Let’s Encrypt trong cPanel để biết cách thao tác thủ công.
Giờ truy cập vào domain để tận hưởng thành quả thôi. Chúc bạn thành công.
Trước khi cài ssl mình vào đc phpmyadmin để restore db mà. Sau đó mới cài ssl vào
web thì vào dc
Nhưng các tool nhu op, phpmyadmin của port 9999 thì ko vào dc sau khi lên ssl
Done. Nếu các bạn sử dụng kèm SSL Cloudfare thì không cấu hình phần Admin Port do SSL Cloudfare không truy cập được domain:port
cảm ơn đội ngũ admin đã hổ trợ nhiệt tình
Đã làm theo hướng dẫn nhưng vẫn không vào được các link của op.php, phpmyadmin…..
Nhờ ad kiểm tra lại giúp
https://pastebin.com/BsQA0UMj
Bạn bỏ cái
default_server
đi. Sửa cả phần này cho đúng với server mình :error_page 497 https://$server_name:2017$request_uri;
đã fix các kiểu nhưng vẫn thất bại bạn à
Mình nghĩ code có vấn đề rồi, bác ad đã check thử chưa?
https://pastebin.com/3BYYiqNM
Code vẫn dùng bthg cả Let’s Encrypt và Comodo bạn à. Mình check port http://ping.eu/port-chk/ 9999 của bạn chưa mở. Trước khi cài SSL bạn vào đc port admin không?
Mình mua ssl của godaddy, cài lên thấy xoay như chong chóng, không vào được website. Mình cài cho site cs-cart. Nhờ Admin hỗ trợ dùm.
Bạn cho mình file cấu hình Nginx của domain
Cho mình hỏi nếu 1 VPS đã cài 3 website: 2 website đã cài let’s rồi, 1 cái còn lại mình muốn cài Comodo SSL này thì có ảnh hưởng gì không nhỉ ?
Không ảnh hưởng gì bạn. Mỗi site 1 file Nginx Conf cấu hình riêng mà
Ôi sao mà nhiều thao tác quá vậy. Ôi cái này nó làm mình đau đầu.
Chào bạn! Mình dùng cách này để cài chứng chỉ SSL của CloudFlare được không bạn. Vì mình thấy hình như CloudFlare cũng dùng của Comodo
Được bạn nhé. Bạn thay cho đúng đường dẫn vào file chứng chỉ của bạn là ok. Mà SSL Cloudfare hình như có luôn 2 file crt và key, không cần nối ghép
Bạn có thể giúp mình nói thêm đoạn này được không? Mình không hiểu lắm! Cảm ơn bạn nhiều!
Đoạn này trỏ tới file SSL. Bạn khai báo tới đúng file SSL của bạn là được
ssl_certificate /etc/nginx/ssl/canhme_com/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/canhme_com/private.key;
Xin chào Admin
Cho mình hỏi email đăng ký có cần phải là email theo domain hay không.
VD: email@domain.com, mình có thể dùng mail gmail hay cty được không, xin cảm ơn.
Mình tạo file CSR xong thì activate SSL, không hiện được primary domain.
Xin cảm ơn.
Dùng email nào cũng được bạn nhé
Chào anh.
Em tạo mã csr nhưng add vào namecheap thì không hiện ra primảy domain.
Anh có thể kiểm tra giúp em sai bước nào không.
Anh cho em xin fb hay zalo, skype nói chuyện nhé.
Thanks u
em làm được rồi, kết hợp với Winscp thì nhanh, gọn.
Thanks bài viết rất tuyệt
Well noted. Bạn cũng có thể sử dụng Bitvise, có cả SSH và sFTP để tiện upload file nhỏ
Gừi mình cặp csr và key qua support@hocvps.com xem cho
Bạn ơi! sau khi cài ssl xong thì mình k restart được thằng Nginx nữa và cũng không vô được web luôn, Bạn có thể kiểm tra giúp mình hk ạ. Xin cảm ơn
[emerg] BIO_new_file(“/etc/nginx/ssl/domain_com/ssl-bundle.crt”) failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/etc/ nginx/ssl/domain_com/ssl-bundle.crt’,’r’) error:2006D080:BIO routines:BIO_new_f ile:no such file) nginx: configuration file /etc/nginx/nginx.conf test failed
Làm đúng như hướng dẫn bị lỗi này là sao bác ơi @@
Nó báo không tìm thấy file
/etc/nginx/ssl/domain_com/ssl-bundle.crt
● nginx.service – nginx – high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-07-03 16:18:21 +07; 17s ago
Docs: http://nginx.org/en/docs/
Process: 1856 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Jul 03 16:18:21 cupidcase.com systemd[1]: Starting nginx – high performance web server…
Jul 03 16:18:21 cupidcase.com nginx[1856]: nginx: [emerg] cannot load certificate “/etc/nginx/ssl/cupidcase_com/ssl-bundle.crt”: BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/etc/nginx/ssl/cupidcase_com/ssl-bundle.crt’,’r’) error:2006D080:BIO routines:BIO_new_file:no such file)
Jul 03 16:18:21 cupidcase.com systemd[1]: nginx.service: control process exited, code=exited status=1
Jul 03 16:18:21 cupidcase.com systemd[1]: Failed to start nginx – high performance web server.
Jul 03 16:18:21 cupidcase.com systemd[1]: Unit nginx.service entered failed state.
Jul 03 16:18:21 cupidcase.com systemd[1]: nginx.service failed.
Mình cũng bị như vậy, nhưng khi kịch hoạt cái ssl mình đã có tạo thư mục.well-known và để file xác thực trong đó nhưng không hiểu sau nó lại không tìm thấy?
Bạn ơi cho hỏi cài SSL Comodo giá bao nhiêu vậy. Thanks
Khuyến mại SSL bạn coi ở đây: https://canhme.com/ssl/
Mình cài lets-encrypt rồi, giờ không muốn dùng nữa mà chuyển sang ssl trả phí có được không mod ơi ?
Được bạn nhé. Bạn thay thế block SSL từ Let’s Encrypt qua SSL trả phí là ok.
Vâng, cám ơn mod hỗ trợ.
Các bạn vui lòng cho mình hỏi nhé,
Lúc mình cài đạt và cấu hình ssl báo thành công
[nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful]
Nhưng sau đó mình vào web thì không được, web của mình là https://lvhieu.com/,
Rất mong sự hướng dẫn của các bạn,
Xin chân thành cám ơn,
Site bạn WP? Bạn còn truy cập được
wp-admin
không? Bạn disable các plugins bảo mật nhéCám ơn Bạn, hiện tại web mình không thể truy cập được wp-admin, mình cũng chưa cài đặt plugin bảo mật luôn, do mình đang thiết kế. Bạn vui lòng cho mình xin thêm ý kiến nhe,
Thường vấn đề này gặp khi xung đột cấu hình lúc cài. Kiểu webserver Nginx cấu hình www redirect tới non-www rồi WP lại cấu hình ngược lại nên tạo ra vòng lặp (redirect loop). Bên cấu hình WP thì là trong Setting–>General
Nếu cài xong mà không thể vào site sửa thì bạn vẫn có thể truy cập sửa qua database WP_HOME và WP_SITEURL
Cám ơn Bạn đã chỉ hướng cho mình, và mình cài lại server cấu hình lại ssl và làm theo bước Bạn vừa hướng dẫn mình nhưng vẫn không vào được, vps mình dùng script hocvps để cài đặt, mình rất mong bạn chỉ thêm,
Bạn gửi cấu hình login VPS qua support@hocvps.com mình xem cho
Done. Không sử dụng SSL chung với SSL Cloudfare (dạng Flexible) được. Nếu bạn muốn sử dụng chung phải dùng SSL Full Strict (CF account Pro).
Bị này bạn à
[root@kind home]# nginx -t
nginx: [warn] “ssl_stapling” ignored, issuer certificate not found
nginx: [warn] “ssl_stapling” ignored, issuer certificate not found
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
với nó vào bằng đt thì chứng chỉ k hợp lệ.PC thì bình thường
1. Cert tạo ra không thích hợp sử dụng OCSP Stapling rồi. Bạn xóa 4 dòng stapling rồi reload lại nginx nhé.
2. Bạn kiểm tra qua ssllabs.com nhé. Do việc sử dụng SSL nên một số trình duyệt cũ sẽ không có thư viện tương thích. Bạn kiểm tra bằng browser gì trên mobile?
Chào Luân.
Bạn có thể cho mình biết trên trang canhme.com bạn mua Ssl của nhà cung cấp nào được ko ?
SSL Comodo bạn à. Bạn theo dõi thường xuyên https://canhme.com/ để update các khuyến mại về SSL hoặc domain kèm SSL nhé.
Các bác cho em hỏi sao em không nhận đươc mail gửi 2 file .ca-bundle và .crt nhỉ.
Chỉ nhận được 1 file nén có 4 file khác thôi 🙁
Xin cảm ơn!
Các file nén của bạn tên gì?
Minh tim hieu va cai duoc roi.
Nhung cho minh hoi chut la sao sau khi cau hinh port xong khong dang nhap duoc vao quan tri hocvps nhi?
Xin cam on
Bạn phải cấu hình cả phần blockserver quản lý port quản trị không thì không dùng HTTPS được cho phần port quản trị (đối với cài SSL cho domain chính của VPS)
Phần: Cấu hình SSL với port quản lý HocVPS Script Admin
Sao có cần chỉnh sửa Canhme.com trong code của bạn thành Domain của mình không, Phần nào cần chỉnh sửa sao bạn không bôi đỏ cho mọi người biết ?
Trong bài hướng dẫn phần sửa đều bôi đỏ bạn có thể dễ dàng nhận biết
Ngon lành mọi thứ, nhưng có thắc mắc là mình cài hocvps lên VPS và cài đặt SSL cho tên miền chính. Nhưng khi mở file cấu hình thì không hề có block server nào có dòng “listen 2313;” hoặc cái nào tương tự như vậy cả.
Dẫn đến việc khi mình truy cập quản trị dạng http://ip:port thì bị báo là: “Không bảo mật”. Nó chỉ báo vậy thôi còn mọi thứ vẫn thao tác bình thường.
Cảm ơn bạn đã chia sẻ và hi vọng nhận được phản hồi từ BQT
Bạn cho mình nội dung file nginx conf của bạn, paste qua đây cho gọn : http://pastebin.com/. Vì có thể port của bạn không phải 2313 đâu
Bạn cho mình hỏi, mình đã cài đặt thành công ssl rồi, và mình có sử dụng thêm keycdn, nên mình đã làm theo hướng dẫn này https://www.keycdn.com/support/how-to-setup-custom-ssl/, làm đầy đủ từng bước, nhưng không thành công, bị lỗi như này: http://prnt.sc/e5prvk . Bạn xem giúp mình nha. 🙂
Bạn giúp mình với. Cám ơn!
Hiện tại mình chưa có kinh nghiệm trong vấn đề này rồi. Nếu cần bạn gửi qua support@hocvps.com và admin@hocvps.com nghiên cứu cho
QUên paste link 🙁
http://pastebin.com/fsqmmZw1
Hình như bạn để nhiều file trong nginx conf, cụ thể có file lặp cấu hình server_name
Bạn kiểm tra xem:
# ls -al /etc/nginx/conf/
Thế có nhiều domain trên đó chạy ssl, cái cũ đg chạy lets-encrypt
Giờ xóa đi chỉ để 1 file conf này thôi à?
Bạn move ra thư mục khác đi. Nó đọc toàn bộ file conf trong thư mục mà. Nó sẽ thấy file A, B đều quy định domainX:80 thì sẽ conflict
Trong mục /etc/nginx/conf.d của mình chứa nhiều file conf cho nhiều domain đang sử dụng lets-encrypt, giờ Move qua thư mục khác thì domain cũ nó có bị lỗi ssl k ?
Không, bạn hiểu sai ý mình rồi. Ý là trong thư mục
/etc/nginx/conf.d
có 2 file của cùng 1 domain không?À hiểu rồi, mình có lưu 1 file cũ đổi tên đi 😛
Kết quả đây bạn ơi:
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Tớ vô trình duyệt chưa thấy nhận ssl mới 🙁
Restart nginx rồi thử bằng trình duyệt ẩn danh nhé
Do cache, mình thấy nhận rồi, cho mình hỏi thêm chút là joomla thì giờ vào đâu để sửa hết link ảnh, css các kiểu để thay bằng https cho nó k báo lỗi trên trình duyệt ssl chấm than Phương ơi
Joomla mình không rõ lắm. Chắc bạn phải view source tìm rồi
Đây Phương nhé
Chưa có gì bạn à
Mình đang xài của -lets-encrypt chuyển qua cái này, thay đổi file conf xong test được báo thế này:
nginx: [warn] conflicting server name “inhanoi.net” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “www.inhanoi.net” on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name “inhanoi.net” on 0.0.0.0:443, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Giờ làm gì để nó nhận cái ssl mới Phương ơi
Cho mình nội dung file Nginx conf của bạn, paste qua http://pastebin.com/ cho gọn nhé
Cho mình hỏi với,mình đang dùng ssl mua ở gogetssl,positive ssl,đã cài xong,vào trang chủ thì đã hiện Secure và https,nhưng khi mình vào bài viết thì lại ko hiện Secure nữa,vẫn hiện ra là https nhưng bên cạnh lại dấu i .Ko biết thế có bình thường ko ?
Cho mình website kiểm tra cho
Mình fix dc rồi,do trong các bài viết mình có chèn link ảnh nhưng để là http mới bị,đổi sang https là dc..:D
Bạn phải chuyển toàn bộ link image, js, css từ http:// sang https://. View-source để xem.
Nếu bạn dùng WordPress, hãy cài đặt plugin Really Simple SSL để tự động redirect http sang https và chuyển toàn bộ link .css, .js sang https.
Mọi thứ đã xong,có điều,có vẻ site mình chậm hơn khi cài ssl,ko biết có thể khắc phục phần nào ko nhỉ ?,ko biết cài cloudflare hay plugin cache có ổn hơn ko :D.
Bạn tham khảo https://hocvps.com/huong-dan-config-vps-chiu-tai-lon-voi-hocvps-script/
Ngoài ra SSL được ưu tiên đối với index GG, cuối cùng vẫn nên cài 🙂
nếu cài cert của Comodo là ko được dùng Cloudflare nữa đúng ko vậy?
Chỉ không dùng được song song chức năng ẩn IP thôi còn các tác vụ khác vẫn được bạn nhé
có cách nào dùng song song SSL và ẩn IP k bác
Hình như là không, bạn thử bằng Cloudflare Full Strict SSL xem
Mình bị lỗi : No input file specified.
Ban giúp mình với. Thanks
Bạn truy cập website bị lỗi “No input file specified” à? Thế chắc bạn cấu hình thư mục root của web có vấn đề. Bạn gửi mình cấu hình file nginx conf
Bạn paste qua http://pastebin.com cho gọn nhé
Add cho em hỏi em deploy app lên server digital ocean nhưng chỉ 1-2 hôm là bị lock droplet:
We’ve detected an outgoing Denial of Service attack (http://do.co/21Y1Gc1) originating from your Droplet. Specifically, we have detected inbound traffic exceeding 0.03 Mb/s and outbound traffic exceeding 439.71 Mb/s. Due to the traffic’s harmful nature, your Droplet was taken offline; this means it is not connected to the internet and all hosted sites and services are unreachable. We know that this action is disruptive, but it’s necessary to protect you, our network, and the target of your Droplet’s attack.
Because this means your Droplet has been compromised, you’ll need to back up your data and transfer it to a new Droplet. We have a recovery tool to assist you, but any databases on your Droplet will need to be backed up before we boot your Droplet into the recovery tool because you won’t be able to make the backups afterwards.
Specific backup steps vary depending on the database software in use, which is most commonly MySQL. If you’re not sure how, http://do.co/1h0uWgm will show you how to back up your databases from MySQL.
Once you have finished backing up your data, the next step is downloading and transferring your data to your new Droplet. Please update this ticket when you’re ready and we’ll configure this Droplet so you can proceed.
Mọi người có biết tái sao ko ?
DO phát hiện VPS bạn bị DDos, inbound traffic quá 0.03Mb/s còn outbound quá 439.71 Mb/s. Vì vậy, DO đã tắt VPS bạn và ngắt kênh nối internet. Việc cần làm đầu tiên là backup data và chuyển sang cái mới để DO phục hồi droplet.
Hoặc app bạn có làm gì ảnh hưởng quá đến băng thông không?
Có làm gì đâu. mới tạo server deploy app lên test thôi mà 🙁
Thế bạn reply lại ticket mô tả vấn đề cho DO, bảo sai lầm gì xem lại giúp 🙂
Hoặc VPS bạn bị DDos, hoặc cố dò pass cổng SSH
Cho mình hỏi, khi mình test SSL (https://www.ssllabs.com/ssltest/analyze.html?d=domain.com) hay bị điểm B, vì lý do This server supports weak Diffie-Hellman (DH) key exchange parameters. Grade capped to B, các bạn có thể giúp mình không?
Lúc cài đặt bạn có tạo file DH parameters 2048 bit đồng thời chèn trong conf Nginx của domain không?
có, mình thực hiện đầy đủ, tất cả các bước, hôm trước check thì A giờ vào check lại thì lại là B
# DH parameters
ssl_dhparam /etc/nginx/cert/dhparam.pem;
để cho chắc ăn mình xóa thư mục rồi tạo và chạy lại
mkdir /etc/nginx/cert/
openssl dhparam 2048 -out /etc/nginx/cert/dhparam.pem
mà vẫn bị điểm B
Cho mình file cấu hình Nginx của bạn, paste qua pastebin.com cho gọn nhé. Mình vừa test 1 cái vẫn grade A mà nhỉ : http://pastebin.com/KMRwGdCC
Mình hiểu vấn đề rồi, do web của mình dùng www nên khi check phải check (https://www.ssllabs.com/ssltest/analyze.html?d=www.domain.com), nếu muốn điểm A thì phải thêm dòng
# DH parameters
ssl_dhparam /etc/nginx/cert/dhparam.pem;
vào block server redirect.
Ok. Phần chèn DH parameters trong Nginx conf có trong hướng dẫn đó bạn
Nếu có một park domain thì cấu hình như nào vậy @@
Mình nghĩ park domain dùng chung SSL với domain chính. Bản chất park domain không có file cấu hình conf Nginx riêng.
Khi đó thì SSL đó vẫn issued cho domain chính
Mình có mua 2 SSL COMODO cho 2 domain A và B.
Mình cài cái Aok. Đến cái B cũng làm tương tự nhưng bỏ qua bước này:
mkdir /etc/nginx/cert/
openssl dhparam 2048 -out /etc/nginx/cert/dhparam.pem
Vậy có ổn không??? 2 Website vẫn đang chạy tốt
Xin cảm ơn
Phần DH parameters 2048 bit giúp bảo mật SSL Nginx tốt hơn bạn à, chứ không phải không cài thì không chạy được
Cảm ơn Việt Phương.
Cái A mình chạy DH parameters.
Cấu hình cái B (cái thứ 2) Mình có cần chạy lại lệnh trên để sinh ra file dhparam không ?
Hay cứ lấy lại DH của web A dùng tiếp ạ.
Nó chung cho hệ thống nên chỉ cần thêm trong cấu hình Nginx site B là được (nếu 2 site cùng VPS nhé)
Thank Luân rất nhiều, đây mới là bài mình cần, và đã làm được, trước đây có cài SSL của Let’s Engcrypt sau cài SSL positive comodo mua của namecheap và cài theo hướng dẫn của bác Thạch Phạm thì bị lỗi lên lỗi xuống, tý thì phải cài lại server tất cả là do mình
và đoạn thiếu thứ 2 là mình cài SSL lên domain chính cài trên Server Hocvps thì không biết để
Nếu bạn cài đặt SSL cho tên miền chính sử dụng HocVPS Script, cần thêm cấu hình SSL khi sử dụng port. Ví dụ khi cài đặt mình để port mặc định 2313.
bạn nói thêm cho mình với. mình cái SSL nó vào port 80. Mình muốn deploy app vào port 80 thì phải làm thê nào nhỷ
Port 80 dùng cho http. Mình nghĩ bạn sửa thư mục mà root chỉ về để sang app là được.
Đoạn
root /home/hocvps.com/public_html
trong file Nginx confNếu bạn không cài SSL cho port quản lý thì có thể truy cập qua
http://domain:port
Minh deploy 1 app NodeJS sử dụng Meteor frame work thì root điền kiểu gì nhỷ
Vấn đề này mình chưa nghiên cứu, bạn tham khảo bên này xem:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-centos-7
https://www.terlici.com/2015/04/20/hosting-deploying-nodejs-centos.html
Có bác nào sử dụng SSL của namecheap không? Lúc active nó bắt nhập CSR code,theo hướng dẫn thì vô bài này https://www.namecheap.com/support/knowledgebase/article.aspx/9446/0/apache-opensslmodsslnginx
run code theo hướng dẫn, nó bảo “Once all the requested information is filled in, you should have *.csr and *.key files in the folder where the command has been run.” em chả biết giờ 2 file đó nằm ở folder nào nữa @@ check date time cũng k ra
à em tìm ra rồi, quên refresh thư mục 😀
Cảm ơn anh Luân nhé, em làm xong ok k lỗi lầm gì 🙂
Hi Luan Tran,
Mình làm theo hướng dẫn và đến bước restart : service nginx restart thì gặp lỗi
Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details.
Bạn xem giúp mình với. Thanks
Bạn chạy
# systemctl status nginx.service#
để biết lỗi cụ thể nhé. Thường là do sai cấu hình file Nginx.Bạn xem giúp mình với 🙂 do mình mới tập tành nên ko rõ lắm. Lỗi nó thông báo :
Last login: Wed Jan 11 04:22:04 2017 from 118.70.199.1
root@UshineVN:~# systemctl status nginx.service
● nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
Active: failed (Result: exit-code) since Wed 2017-01-11 04:28:17 UTC; 1h 20mi
Process: 9300 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code
Process: 9297 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process
Jan 11 04:28:16 UshineVN nginx[9300]: nginx: [emerg] bind() to [::]:80 failed (9
Jan 11 04:28:16 UshineVN nginx[9300]: nginx: [emerg] bind() to 0.0.0.0:80 failed
Jan 11 04:28:16 UshineVN nginx[9300]: nginx: [emerg] bind() to [::]:80 failed (9
Jan 11 04:28:17 UshineVN nginx[9300]: nginx: [emerg] bind() to 0.0.0.0:80 failed
Jan 11 04:28:17 UshineVN nginx[9300]: nginx: [emerg] bind() to [::]:80 failed (9
Jan 11 04:28:17 UshineVN nginx[9300]: nginx: [emerg] still could not bind()
Jan 11 04:28:17 UshineVN systemd[1]: nginx.service: Control process exited, code
Jan 11 04:28:17 UshineVN systemd[1]: Failed to start A high performance web serv
Jan 11 04:28:17 UshineVN systemd[1]: nginx.service: Unit entered failed state.
Jan 11 04:28:17 UshineVN systemd[1]: nginx.service: Failed with result ‘exit-cod
lines 1-16/16 (END)
Gửi mình file conf Nginx của bạn qua support@hocvps.com mình xem cho
Thank bạn
Mình cài đc SSL rồi . Mình cái SSL nó vào port 80. Mình muốn deploy app vào port 80 thì phải làm thê nào nhỷ
Mình mới update lại cấu hình SSL tối ưu hơn, fix bug nữa, mời các bạn tham khảo.
làm theo hướng dẫn mà vẫn ko được, thử chỗ này listen 443 ssl http2;
thêm default_server vào cuối thì mới đc, ko hiểu sao luôn
Em bị dính lỗi: dodongdep.com redirected you too many times.
Bạn cấu hình Nginx conf phần redirect sai nên bị lặp redirect lung tung rồi
Em đã fix được rồi, nhưng dùng thêm AMP đôi khi các trình duyệt mobile lại có vấn đề
Vấn đề cụ thể như thế nào bạn nhỉ?
Cài https xong có cần khai báo lại trong webmaster tool không bác Luân?
Có phải khai báo lại nhé, mình update trong bài này rồi: https://canhme.com/kinh-nghiem/cai-dat-lets-encrypt-trong-cpanel/
Có bạn nhé, bạn tham khảo phần III.Cập nhật cấu hình trong Google Search Console và Analytics trong bài
https://canhme.com/kinh-nghiem/cai-dat-lets-encrypt-trong-cpanel/
cho hỏi module http2 có được tích hợp với nginx của script hocvps ko vậy? cảm ơn
Module này được tự động tích hợp từ phiên bản Nginx 1.9.5. Bạn kiểm tra phiên bản Nginx hiện tại nhé
# nginx -v
mình kiểm tra rồi, nhưng ko thấy nên mới hỏi
nginx -V
nginx version: nginx/1.10.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx –modules-path=/usr/lib64/nginx/modules –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp –http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=nginx –group=nginx –with-file-aio –with-threads –with-ipv6 –with-http_addition_module –with-http_auth_request_module –with-http_dav_module –with-http_flv_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_mp4_module –with-http_random_index_module –with-http_realip_module –with-http_secure_link_module –with-http_slice_module –with-http_ssl_module –with-http_stub_status_module –with-http_sub_module –with-http_v2_module –with-mail –with-mail_ssl_module –with-stream –with-stream_ssl_module –with-cc-opt=’-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong –param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic’
Có đó bạn: –with-http_v2_module
Cảm ơn, làm mình search http2 ko thấy. Cho mình hỏi Sau khi đăng ký ssl xong mình nhận được 2 email
1 file nén gồm
domain_com.ca-bundle
domain_com.crt
1 file nén gồm
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
domain_com.crt
Xin hỏi những thông tin này, mình xử lý ntn? mình làm theo cách ở trên bạn hướng dẫn nhưng không thành công. (mình cũng xài varnish)
400 Bad Request
The plain HTTP request was sent to HTTPS port
lỗi này khi truy cập quản lý HocVPS Script Admin, nếu có https thì bình thường, nhưng nếu http thì nó lỗi như này ạ, server vultr
Gửi mình thông tin cấu hình login VPS qua support@hocvps.com (c.c admin@hocvps.com) mình xem cho
Sau khi đăng ký ssl xong mình nhận được 2 email
1 file nén gồm
domain_com.ca-bundle
domain_com.crt
1 file nén gồm
AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
domain_com.crt
Xin hỏi những thông tin này, mình xử lý ntn? mình làm theo cách ở trên bạn hướng dẫn nhưng không thành công. (mình cũng xài varnish)
Bạn dùng 2 file domain_com.ca-bundle và domain_com.crt là ok rồi, trong bài hướng dẫn chi tiết đó bạn
mình dùng varnish thì có cài được ssl không vậy
Được bạn à. Cài cho Varnish port 80 xử lý http request còn Nginx port 443 xử lý https request
Mình sẽ hướng dẫn cụ thể cách làm sau, trong series Varnish luôn: https://hocvps.com/series/varnish/
Mình dùng chứng chỉ của gogetssl mà file gửi về ko thấy có *.ca-bundle thì phải làm sao vậy bạn
Nếu không có trong file attach thì bạn đọc mail sẽ thấy phần
-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----
là nội dung trong chứng chỉ đóCó mà bạn, check lại đi nhé. Mình có đó.
Gogetssl chỉ gửi file txt mà k có file attach Luân ơi
Dear Customer!
Thank you for choosing us to generate your CSR and SSL Private Key. Please keep this in a safe place!
We provide most cheapest SSL Certificates and we can beat any competitor price for you
Private Key:
—–BEGIN PRIVATE KEY—–
xxxxxxxxxxxxxxxxxxxxxxxxx
—–END PRIVATE KEY—–
CSR:
—–BEGIN CERTIFICATE REQUEST—–
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
—–END CERTIFICATE REQUEST—–
Không phải mail này bạn ạ. Đây là phần generate key và csr. Xong bạn sử dụng key add lên server còn csr để generate ra chứng chỉ trên site nhà cung cấp
Hi, mình có file đây rồi, giờ mới bắt đầu
Do nãy tự mò nên nhầm
Xin góp các bác file của mình. Mình làm giống hocvps thì bị lỗi trên mobile. Thử remote vps ở nước ngoài vào web mình không được. ở dòng server đầu tiên mình sửa lại như sau. Chạy bình thường.
server {
server_name http://www.webgia.com;
rewrite ^(.*) https://webgia.com$1 permanent;
}
server {
listen 443 ssl http2;
access_log off;
error_log off;
# error_log /home/webgia/logs/error.log;
root /home/webgia/public_html;
index index.php index.html index.htm;
server_name webgia.com;
# SSL
ssl_certificate /etc/nginx/ssl/tfs/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/tfs/tfs.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ‘ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS’;
## OCSP Stapling
resolver 127.0.0.1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/ssl/tfs/ssl-bundle.crt;
# Improve HTTPS performance with session resumption
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# DH parameters
ssl_dhparam /etc/nginx/cert/dhparam.pem;
# Enable HSTS (https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security)
add_header Strict-Transport-Security “max-age=31536000” always;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 32k;
fastcgi_buffers 8 16k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 32k;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME /home/thefaceshop/public_html$fastcgi_script_name;
}
location ~ /\. {
deny all;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ {
gzip_static off;
add_header Pragma public;
add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
access_log off;
expires 30d;
break;
}
location ~* \.(txt|js|css)$ {
add_header Pragma public;
add_header Cache-Control “public, must-revalidate, proxy-revalidate”;
access_log off;
expires 30d;
break;
}
}
Xin lỗi mình sai rồi. mong hocvps xóa comment :d