Прежде всего мне нравится разделять серверные блоки на разные конфигурации (даже если сейчас они одинаковые, вы полюбите себя, когда вернетесь через 2 года и вам нужно будет это прочитать).
sslсертификат:
Nginx читает только 1 файл crt, под ssl_certificate, здесь вам нужно объединить вашу цепочку и ваш crt в одном файле, больше информации:
https://futurestud.io/tutorials/how-to-configure-nginx-ssl-certifcate-chain
Итак, я бы сделал следующее:
Скопируйте сертификат в другое место, для безопасности и ничего не трогая.
sudo cp /etc/ssl/private/wildcard.my-site.de.crt /etc/ssl/private/api-mysite-de.pem
И объедините вашу цепочку в "сертификат".
sudo cat /etc/ssl/private/chain.crt > /etc/ssl/private/api-mysite-de.pem
Затем вы можете установить ssl_certificate на этот файл для работы nginx.
server {
listen 443 ssl;
listen [::]:443 ipv6only=on ssl;
server_name api.my-site.de
ssl_on;
ssl_certificate /etc/ssl/private/api-mysite-de.pem;
ssl_certificate_key /etc/ssl/private/wildcard.my-site.de.key;
access_log /var/log/nginx/ssl-api.my-site.de.access.log;
error_log /var/log/nginx/ssl-api.my-site.de.cat.error.log;
location / {
root /var/www/api.my-site.de/current/public;
}
}
А вот и конфигурация http-порта 80.
Оставьте свой файл .htaccess в/var/www/api.my-site.de/current/public и он должен работать правильно.
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name api.my-site.de
access_log /var/log/nginx/api.my-site.de.access.log;
error_log /var/log/nginx/api.my-site.de.cat.error.log;
#logs are love, logs are life
location / {
root /var/www/api.my-site.de/current/public;
}
}
Если вам нужны какие-либо дополнительные конфигурации или он показывает какие-либо ошибки в журналах (я их там настроил) рекомендую, и я постараюсь справиться с этим.
Надеюсь, я помог.