настройте varni sh ssl с apache на debian 10 - PullRequest
0 голосов
/ 19 июня 2020

Я настроил varni sh, но проблема в том, что по протоколу http я возвращаю папку publi c / etc / www/html, которая не является папкой, настроенной на виртуальном хосте, а varni sh - нет. включен протокол https, вы можете мне помочь? это файлы, которые у меня есть в моем vps:

virtualhost:

<VirtualHost 127.0.0.1:8080>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example
    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
    #SetEnvIf X-Forwarded-Proto https HTTPS=on

    <Directory /var/www/example >
            Options FollowSymLinks
            AllowOverride All
    </Directory>

  </VirtualHost>

  <VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com


    SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

    #RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}     

    ProxyPreserveHost       On
    ProxyPass               / http://127.0.0.1:80/
    ProxyPassReverse        / http://127.0.0.1:80/
 </VirtualHost>

ports.conf:

Listen 127.0.0.1:8080

varni sh .service:

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,2048m

default.vcl

ackend default {
.host = "127.0.0.1";
.port = "8080";

}

цепочка должна быть https и http al varni sh на порту 80 varni sh отчеты на двери 8080 отчеты https в http с прокси, где я не прав? Я основываю свои моды на этой статье Как использовать Apache2 для завершения SSL с Varni sh

спасибо тем, кто может мне помочь. очевидно, что на сайте publi c в настоящее время нет varni sh enabled

1 Ответ

0 голосов
/ 22 июня 2020

Для этого теста я запустил пример на странице руководства, и он, похоже, работал нормально.

Если ваш домашний каталог отличается от того, что в примере, просто измените путь в следующие директивы:

DocumentRoot /var/www/example
<Directory /var/www/example >

И, наконец, нужно убедиться, что ваши сертификаты находятся в нужном месте:

SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Вы, вероятно, измените эти пути на пути к ваш фактический сертификат и закрытый ключ.

После перезапуска systemd и ваших служб с помощью следующих команд вы должны быть готовы go:

systemctl daemon-reload
systemctl restart apache2.service
systemctl restart varnish.service

Отладка

Если вы получаете какие-либо ошибки, которые мешают вам запустить это, поделитесь сообщениями об ошибках. На данный момент не совсем понятно, что вас блокирует.

Следующая команда перечислит все прослушивающие порты и службу Linux, которая прослушивает этот порт. Используйте ее, чтобы выяснить, привязаны ли нужные службы к нужному порту:

netstat -plnt

Следующая команда представит всю доступную информацию о HTTP-запросе, HTTP-ответе и внутренней обработке в Varni sh. Это делается для домашней страницы ("/") :

varnishlog -g request -q "ReqUrl eq '/'"

И, наконец, вы можете отлаживать свои Apache журналы ошибок / доступа. Возможно, они содержат более подходящую информацию:

tail -f /var/log/apache2/access.log /var/log/apache2/error.log

Ваши Apache журналы могут быть расположены по другому пути. Пожалуйста, отрегулируйте соответственно.

...