Дружеское напоминание: сначала прочтите меры предосторожности внизу и не паникуйте, если что-то случится! ! !
Прежде чем настраивать сертификат SSL, сначала подготовьте сертификат SSL. Есть много способов его получить. Если вы не уверены, вы можете найти его самостоятельно или оставить сообщение.
После подготовки сертификата найдите каталог установки nginx. Мой путь установки: /usr/local/nginx. Введите conf/nginx.conf и отредактируйте файл конфигурации nginx.
vi /usr/local/nginx/conf/nginx.conf
Изменить файл конфигурации Перед изменением файла конфигурации лучше всего сделать резервную копию, чтобы предотвратить ошибки модификации и вовремя откатить ошибки.
cp nginx.conf nginx.conf.bak
1. Найдите первый сервер, прослушивающий порт 80: Ниже приведен измененный сервер.
server {
listen 80;
server_name Доменное имя, к которому необходимо получить доступ, например: www.baidu.com;
rewrite ^(.*) https://$server_name$1 permanent; #Это предложение означает преобразование HTTP-запросов доменных имен в https
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://имя домена, к которому осуществляется доступ; #Поскольку это по-прежнему порт 80, оставьте http.
}
}
2. После изменения первого сервера приступайте к настройке второго сервера. до дна. Я увидел, что есть сервер типа https. И все они прокомментированы. Это второй сервер, который нужно поменять помимо HTTPS-сервера и включения SSL, остальные # Удалить и запустить https-модуль.
# HTTPS server
#
server {
listen 443 ssl;
server_name Доменное имя, к которому требуется доступ, не обязательно должно быть https, например www.baidu.com;
# ssl on; ## Имеется в виду включение функции ssl. Этот пункт не требуется после nginx1.5.
ssl_certificate /usr/local/nginx/ssl/ssl.crt; #Это SSL Абсолютный путь, по которому хранится файл ключа, записывается в соответствии с вашим собственным именем файла и путем.
ssl_certificate_key /usr/local/nginx/ssl/ssl.key; #Это SSL Абсолютный путь, по которому хранится файл ключа, записывается в соответствии с вашим собственным именем файла и путем.
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://Имя домена, к которому осуществляется доступ:8080/;
}
}
После настройки настройка nginx завершена.
Следующим шагом является вступление в силу файла конфигурации:
1. Перейдите в папку sbin nginx. Моя папка sbin: /usr/local/nginx/sbin. Выполните следующую инструкцию: Проверьте, есть ли в файле конфигурации ошибки.
./nginx -t
Если в nginx установлен модуль SSL, должен отобразиться следующий интерфейс: (Если он показывает, что конфигурация прошла успешно, вы можете пропустить этот шаг и перезапустить nginx напрямую) Если вы устанавливаете сертификат https в первый раз, будет сообщено об ошибке, указывающей на отсутствие модуля SSL, следующим образом:
2. Установите модуль SSL: Сначала подтвердите два местоположения: 1) Мой nginx установлен в /usr/local/nginx/. 2) Мой пакет исходного кода nginx находится в папке /home/soft/nginx. Если нет, повторно загрузите пакет исходного кода соответствующей версии nginx и найдите каталог для его распаковки.
3. Переключите каталог на место установки исходного пакета:
cd /home/soft/nginx-1.16.0/
4. Выполните оператор и переустановите модуль SSL:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
В это время может возникнуть небольшой сбой. При запуске модуля SSL сообщается об ошибке:
Увидел ошибку. Просто знайте, что установка Linux не удалась и остановилась. Эта ошибка связана с тем, что мы не установили openssl openssl-devel (если на этом этапе не сообщается об ошибке, вы можете пропустить следующие шаги для установки openssl-devel)
5. Затем вы можете сначала выполнить оператор openssl-devel для установки openssl:
yum -y install openssl openssl-devel
После установки openssl-devel повторно выполните: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
Выполнить в это время
./nginx -V
Как показано на картинке, установка прошла успешно.
6. На этом этапе выполнение Конфигурации должно пройти успешно. Конфигурация После успеха,Затем нам нужно скомпилировать наш Конфигурация。(Обратите внимание, что здесь можно использовать только make. ! ! ! Не используйте make установить, потому что make выполняется установить означает перезаписать установку) бегать:
make
Дождитесь завершения выполнения и перейдите к следующим шагам.
7. Сначала создайте резервную копию старого nginx и выполните оператор (путь к скопированному файлу необходимо изменить в соответствии с установленным вами каталогом. Если он совпадает с путем, который я установил, вы можете запустить оператор напрямую):
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
8. Закройте nginx (потому что новый модуль должен перезаписать старый nginx) Найдите номер процесса
ps -ef|grep nginx
Убить процесс
kill -9 номер процесса
9. После закрытия процесса nginx можно приступать к замене (обратите внимание: текущее местоположение находится в исходном пакете nginx, не ошибитесь в каталоге) Выполните команду копирования. Если во время выполнения произойдет перезапись, введите y и нажмите Enter.
cp ./objs/nginx /usr/local/nginx/sbin/
Затем запустите nginx. Перед началом вы также можете проверить, вступил ли в силу файл конфигурации:
./nginx -t
#Сначала переключитесь в каталог sbin
cd /usr/local/nginx/sbin/
#Определить, есть ли ошибки в файле конфигурации nginx
./niginx -t
Если вы это видите, значит, вы добились успеха
Наконец, запустите nginx (путь на данный момент: /usr/local/nginx/sbin, другие пути должны указывать файл конфигурации запуска): Выполните путь установки по умолчанию:
./nginx
Выполните по другим путям (замените ** на свой путь установки):
/**/nginx -c /**/nginx/conf/nginx.conf
После того, как nginx запустится нормально, мы заходим на наш сайт и обнаруживаем, что https настроен.