Я установил varnish и nginx и защитил свой сайт с помощью шифрования SSL. Я тестировал varnish против cgi-кеша nginx и обнаружил, что varnish работает немного быстрее в моем случае (wordpress). Поэтому мне нужна помощь в том, как использовать nginx для завершения SSL с помощью varnish и как перенаправить http на https, поскольку мой веб-сайт поддерживает только https. Я использую ubuntu 18.04, пожалуйста, помогите мне кто-нибудь !!
РЕДАКТИРОВАТЬ: я следовал этому руководству: https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/
Это дает мою ошибку в nginx (порт 80 уже используется)
Пожалуйста, помогите мне!
Как видите, моя установка немного отличается от той, что в https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/. Это потому, что я уже занимаюсь перенаправлением HTTP на HTTPS, используя отдельный виртуальный хост Nginx.
В этом случае Varnish прослушивает не порт 80, а порт 6081.
Вот пример Nginx vhost который обрабатывает HTTPS-соединения:
server {
listen 443 ssl;
keepalive_timeout 70;
server_name example.com www.example.com;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_certificate ssl.crt;
ssl_certificate_key ssl.key;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 4h;
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:6081;
proxy_http_version 1.1;
}
}
Вот фрагмент, который перенаправляет HTTP на HTTPS:
server {
server_name example.com www.example.com;
listen 80;
rewrite "^/$" https://example.com permanent;
rewrite "^/(.+)$" http://example.com/$1 permanent;
}
Vhosts были отредактированы и содержат примеры значений. Пожалуйста, замените имена хостов в server_name
выражения.
Пожалуйста, также убедитесь ssl_certificate
и ssl_certificate_key
операторы указывают на файлы, которые действительно существуют.