Tôi đang sử dụng máy chủ Ubuntu 20.04 trên Azure, với Nginx, PHP-FPM và hai trang web.
Các trang web là example.com và sub.example.com và Chúng có chứng chỉ do certbot cấp và hoạt động tốt.
Tôi đã thêm một trang web thứ ba có tên miền khác example2.com và nó hoạt động tốt. Nhưng khi tôi thêm certbot vào trang web thứ ba này, tất cả chúng đều ngừng hoạt động và Nginx không dừng và không hiển thị bất kỳ lỗi nào.
Tôi đã thêm các chứng chỉ bằng cách này
sudo certbot --Nginx -d example.com -d www.example.com
Sudo certbot --nginx -d sub.example.com
Cho đến đây vẫn ổn và các trang web hoạt động tốt trong 5 tháng qua
Sau đó mình thêm 1 website mới và chạy tốt 2 cái, nhưng khi mình thêm certbot thì tất cả đều ngừng hoạt động, còn nginx vẫn chạy không báo lỗi
sudo certbot --nginx -d example2.com -d www.example2.com
xác minh Nginx:
Sudo nginx -t
nginx: cú pháp file cấu hình /etc/nginx/nginx.conf là ok
nginx: file cấu hình /etc/nginx/nginx.conf kiểm tra thành công
Các trang web chỉ hoạt động trở lại nếu tôi xóa chứng chỉ khỏi trang web thứ ba
sudo sudo certbot xóa --cert-name example2.com
Tôi xin lỗi, tôi đang cố gắng hết sức để sử dụng tiếng Anh.
Khối máy chủ Trang web 1
người phục vụ {
gốc /var/www/example.com/html;
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
địa điểm / {
try_files $uri $uri/ /index.php?$args;
}
vị trí ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
lắng nghe [::]:443 ssl ipv6only=on; # được quản lý bởi Certbot
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = www.example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80 default_server;
lắng nghe [::]:80 default_server;
server_name example.com www.example.com;
trả lại 404; # được quản lý bởi Certbot
}
Khối máy chủ Trang web 2 (trang tên miền phụ 1)
người phục vụ {
gốc /var/www/sub.example.com/html;
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name sub.example.com;
địa điểm / {
try_files $uri $uri/ /index.php?$args;
}
vị trí ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/sub.example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/sub.example.com/privkey.pem; # được quản lý bởi Certbot
# bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = sub.example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80;
server_name sub.example.com;
trả lại 404; # được quản lý bởi Certbot
}
Khối máy chủ Trang web 3
người phục vụ {
gốc /var/www/example2.com/html;
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name example2.com www.example2.com;
địa điểm / {
try_files $uri $uri/ =404;
}
vị trí ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
bao gồm fastcgi_params;
}
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = www.example2.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nếu ($host = example2.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80;
server_name example2.com www.example2.com
trả lại 404; # được quản lý bởi Certbot
}