Я пытаюсь использовать SSL для защиты моего Restful API, который работает за службой nginx. Я сгенерировал ssl-сертификат и ключи из https://www.sslforfree.com, а затем скопировал эти ключи на свой сервер. мой файл конфигурации nginx выглядит так
server {
listen 80;
listen 443;
server_name mysubdomain.mydomain.com;
ssl_certificate /etc/nginx/ssl/mysubdomain_ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/mysubdomain_ssl/private_key.key;
location /wwwroot/ {
autoindex off;
root /var/mysubdomain/;
}
location / {
proxy_pass http://localhost:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection '';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
мое спокойное приложение API работает локально на моем сервере через порт 8001, я открыл порты 80 и порт 443 в своем брандмауэре, я могу успешно получить ответ, используя http в своем браузере и почтальон http://mysubdomain.mydomain.com/api/values, но когда я пытаюсь использовать https, я получаю, что этот сайт может не быть достигнутым.
Вот разрешение для папки, содержащей сертификат и ключ drwxr-xr-x
В файл /etc/nginx/ssl/mysubdomain_ssl/certificate.crt
необходимо добавить корневой и промежуточный сертификаты вашего ЦС. А затем перезапустите nginx
сервер.
Проверьте эта веб-страница, откуда вы можете получить недостающие сертификаты.
Вам нужно объединить сертификат и файл ca_bundle в один файл, который нужно добавить в качестве сертификата.
большое спасибо за ваш ответ, и еще одну вещь, которую нужно добавить в мою конфигурацию nginx, — эту строку listen 443 ssl;
. ты человек
У меня есть 3 файла для sslfofree, сертификата, ca_bundle и закрытого ключа, я скопировал их в 3 отдельных файла с расширением .crt для первых 2 файлов и .key для 3-го, какие файлы я должен использовать с nginx и как?