Hostwinds Учебники
Результаты поиска для:
Содержание
Теги: Cloud Servers, SSL, VPS
Nginx - мощный инструмент. Это позволяет вам подавать несколько приложений, веб-сайтов, сбалансированных нагрузки и многое другое. Эта гибкость все работает с помощью относительно простой системы конфигурации, которая использует практически читаемые файлы конфигурации. Это руководство продемонстрирует, как настроить реверсивный прокси NGINX с SSL на Hostwinds Cloud VPS.
Это руководство предположиет общее понимание использования системы Linux на основе командной строки и будет способствовать следующим предварительным условиям:
По умолчанию для пакета Nginx-full используется динамическая среда общего виртуального хоста. Файлы конфигурации для каждого виртуального хоста доступны для использования здесь:
/etc/nginx/sites-available/
В этом месте будет файл с именем по умолчанию Доступно использовать в качестве базового шаблона. Тем не менее, мы вручную создаем новый файл конфигурации в этом руководстве и заполните его по мере необходимости. После входа в систему пользователя Unro root, выпустите эту команду, чтобы запустить процесс:
sudo touch /etc/nginx/sites-available/domain.tld
Обязательно замените Домен-TLD. с доменом, который вы фактически используете.
Далее мы переходим к изменению этого файла для выполнения задач, которые нам нужно, чтобы сделать. Мы будем использовать vim в этом руководстве в качестве текстового редактора. Вы можете использовать нано или любой другой текстовый редактор в зависимости от ваших личных предпочтений.
sudo vim /etc/nginx/sites-available/domain.tld
Теперь, когда файл существует, добавьте следующий текст в этот файл. Измените текст, указанный для ссылки на ваш домен, порт вашего приложения использует, и ваши пути сертификата SSL. Этот файл будет основной конфигурацией для обратного прокси:
###
# This Section listens on port 80 for your domain and rewrites the request
# to HTTPS for us
###
server {
listen 80;
server_name domain.tld www.domain.tld; # Edit this to your domain name
rewrite ^ https://$host$request_uri permanent;
}
###
# This is all the configuration declarations that help SSL Function.
###
server {
listen 443 ssl;
server_name domain.tld;
# Edit this to your domain name
ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
# If you use Lets Encrypt, you should just need to change the domain.
ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;
# If you use Let's Encrypt, you should just need to change the domain.
ssl_session_cache builtin:1000 shared:SSL:10m;
# Defining option to share SSL Connection with Passed Proxy
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# Defining used protocol versions.
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
# Defining ciphers to use.
ssl_prefer_server_ciphers on;
# Enabling ciphers
access_log /var/log/nginx/access.log;
# Log Location. Can be anywhere. Make sure the nginx user defined in /etc/nginx/nginx.conf has r/w permissions
###
# This is the juicey part of the config file, handing off relevant data to
# our back-end app running on port 3000
# Nothing should need to be changed here, unless port 3000 is not the port
# you're using.
# Furthermore, if you're using a socket to serve your app (PHP comes to
# mind), you can define a unix:.sock location here as well
###
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:3000;
proxy_read_timeout 90;
}
}
Сохраните файл и выйдите из текстового редактора.
Теперь, когда конфигурация создана, мы должны указать Nginx проверять наличие файла при загрузке. Сделаем символическую ссылку:
sudo ln -s /etc/nginx/sites-avaialable/domain.tld /etc/nginx/sites-enabled/domain.tld.conf
Далее мы тестируем конфигурацию перед перезапуском системной службы Nginx.
sudo nginx -t
После этого он должен запустить тест и в случае успеха вывести следующее сообщение:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Теперь мы знаем, что файл конфигурации не приведет к сбою, поэтому давайте перезагрузим службу Nginx и проверить приложение.
sudo systemctl restart nginx
Теперь вы должны иметь доступ к приложению, запущенному на определенном порту, просматривая Домен-TLD. как показано в ранее созданном файле конфигурации Nginx.
Написано Hostwinds Team / Июнь 14, 2019