Для исправления проблемы с mixed content API на вашем сайте, вам необходимо переключить свой сайт на протокол HTTPS. Это подразумевает использование SSL-сертификата, который обеспечивает безопасное соединение.
Вот как вы можете настроить бесплатный SSL-сертификат для работы Nginx на HTTPS:
1. Установите Certbot на ваш сервер. Certbot является инструментом для автоматической генерации и установки SSL-сертификатов от Let's Encrypt.
2. Проверьте, что ваш сервер Nginx работает и прослушивает порт 80 (HTTP). Если этого не происходит, убедитесь, что ваш сервер настроен правильно.
3. Запустите Certbot, используя следующую команду:
```
sudo certbot certonly --webroot --webroot-path /var/www/html -d example.com
```
Замените "example.com" на ваше доменное имя. Убедитесь, что путь к каталогу /var/www/html указывает на корневой каталог вашего веб-сайта.
4. Certbot попытается связаться с вашим сервером и проверить, что вы владеете доменом example.com. Если все проходит успешно, он создаст сертификат и закрытый ключ для вашего домена.
5. После завершения процесса вы найдете ваш SSL-сертификат и закрытый ключ в папке /etc/letsencrypt/live/example.com/. Имена файлов будут следующими: cert.pem (сертификат), privkey.pem (закрытый ключ).
6. Теперь настройте Nginx, чтобы использовать полученные сертификат и закрытый ключ. Откройте конфигурационный файл Nginx для вашего сайта (обычно находится в /etc/nginx/sites-enabled/ или /etc/nginx/conf.d/) и внесите следующие изменения:
```
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
...
# Другие настройки для вашего сервера
...
}
```
Замените "example.com" на ваше доменное имя. Убедитесь, что пути к сертификату и закрытому ключу соответствуют путям, которые вы получили в результате работы Certbot.
7. Сохраните и закройте файл конфигурации Nginx, а затем перезапустите сервер, чтобы применить изменения:
```
sudo service nginx restart
```
Теперь ваш сайт должен быть доступен по протоколу HTTPS. Ваши API также будут работать по безопасному соединению.
Обратите внимание, что сертификат Let's Encrypt имеет срок действия в 90 дней. Вам нужно будет обновлять его до истечения срока действия с помощью Certbot.