Я пытаюсь настроить Varni sh Cache для Magento, используя обратный прокси (на Apache) для кэширования https. Я не могу заставить его работать. До сих пор у меня были ERR_TOO_MANY_REDIRECTS и NET :: ERR_CERT_AUTHORITY_INVALID при настройке обратного прокси-сервера (и 503 при попытке настроить кэш Varni sh для прямого ответа на http / 80).
Технологический стек следующим образом:
- Выделенный сервер (безумные характеристики)
- Centos
- Apache
- Direct Admin (да, я знаю)
- Magento
Мое понимание Varni sh Кэш выглядит следующим образом:
- HTTP: пользователь-> Varnish [: 80] -> Apache [: 8080]
- HTTPS: Пользователь-> Apache [: 443] -> Лак [: 80] -> Apache [: 8080] (обратный прокси).
Настройки Magento следующие следуйте:
web/seo/use_rewrites - 1
web/unsecure/base_url - https://www.{domain}.com/ //Previously it didn't work when I set this up with http. That's why it's https. Tested with http and no difference now.
web/unsecure/base_link_url - {{unsecure_base_url}}
web/unsecure/base_static_url -
web/unsecure/base_media_url -
web/secure/base_url - https://www.{domain}.com/
web/secure/use_in_frontend - 1 //tested 0, no difference
web/secure/use_in_adminhtml - 1 //tested 0, no difference
web/secure/base_link_url - {{secure_base_url}}
web/secure/base_static_url -
web/secure/base_media_url -
web/secure/offloader_header - SSL_OFFLOADED
web/url/use_store - 0
web/url/redirect_to_base - 1 //tested 0, infinite loading
web/default/front - cms
web/default/cms_home_page - home
web/default/no_route - cms/noroute/index
web/default/cms_no_route - no-route
web/default/cms_no_cookies - enable-cookies
web/default/show_cms_breadcrumbs - 1
web/cookie/cookie_lifetime - 3600
web/cookie/cookie_path -
web/cookie/cookie_domain -
web/cookie/cookie_httponly - 0
web/cookie/cookie_restriction - 0
web/session/use_remote_addr - 0
web/session/use_http_via - 0
web/session/use_http_x_forwarded_for - 0
web/session/use_http_user_agent - 0
web/session/use_frontend_sid - 1
web/browser_capabilities/cookies - 1
web/browser_capabilities/javascript - 1
web/browser_capabilities/local_storage - 0
web/default_layouts/default_product_layout -
web/default_layouts/default_category_layout -
web/default_layouts/default_cms_layout - 1column
httpd.conf:
ServerRoot "/etc/httpd"
Listen 8080
<IfModule unixd_module>
User apache
Group apache
</IfModule>
LoadModule php7_module /usr/lib/apache/libphp7.so
Include /etc/httpd/conf/extra/httpd-phpmodules.conf
DocumentRoot "/home/admin/domains/{domain}.com/public_html"
<IfModule dir_module>
Include /etc/httpd/conf/extra/httpd-directoryindex.conf
</IfModule>
<Files ".ht*">
Require all denied
</Files>
<Files ".user.ini">
Require all denied
</Files>
LogLevel warn
<IfModule log_config_module>
#replace %b with %O for more accurate logging
<IfModule mod_logio.c>
LogFormat "%a %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%a %l %u %t \"%r\" %>s %O" common
LogFormat "%O %I" bytes
LogFormat "%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog /var/log/httpd/access_log common
</IfModule>
<IfModule alias_module>
# Include some DirectAdmin alias
Include conf/extra/httpd-alias.conf
</IfModule>
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-gzip .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType video/x-ms-asf .avi
AddType video/mpeg .mpg
AddType video/mpeg .mpeg
AddType video/quicktime .mov
AddType video/x-ms-wmv .wmv
</IfModule>
incldes x20
Include conf/extra/directadmin-vhosts.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
!!!-----------------------------And here comes DirectAdmin httpd.conf:----------------------------!!!
[root@ ~]# cat /usr/local/directadmin/data/users/admin/httpd.conf
<Directory "/home/admin/public_html">
<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
#RGroups apache access
RGroups @none
</IfModule>
<IfModule mod_fcgid.c>
SuexecUserGroup admin admin
</IfModule>
php_admin_flag engine ON
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f admin@{domain}.com'
php_admin_value mail.log /home/admin/.php/php-mail.log
php_admin_value open_basedir /home/admin/:/tmp:/var/tmp:/opt/alt/php72/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php72/lib/php/
</Directory>
<VirtualHost {ip}:8080 >
ServerName www.{domain}.com
# ServerAlias www.{domain}.com {domain}.com //tested "on" - see errors
ServerAdmin webmaster@{domain}.com
DocumentRoot /home/admin/domains/{domain}.com/public_html
# UseCanonicalName OFF //tested uncommenting - see errors
<IfModule !mod_ruid2.c>
SuexecUserGroup admin admin
</IfModule>
<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
#RGroups apache access
RGroups @none
</IfModule>
CustomLog /var/log/httpd/domains/{domain}.com.bytes bytes
CustomLog /var/log/httpd/domains/{domain}.com.log combined
ErrorLog /var/log/httpd/domains/{domain}.com.error.log
<Directory /home/admin/domains/{domain}.com/public_html>
AllowOverride AuthConfig FileInfo Indexes Limit Options=Indexes,IncludesNOEXEC,MultiViews,SymLinksIfOwnerMatch,FollowSymLinks,None
Options -ExecCGI -Includes +IncludesNOEXEC
php_admin_flag engine ON
php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f admin@{domain}.com'
php_admin_value mail.log /home/admin/.php/php-mail.log
php_admin_value open_basedir /home/admin/:/tmp:/var/tmp:/opt/alt/php72/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php72/lib/php/
</Directory>
</VirtualHost>
<VirtualHost {ip}:443 >
SSLEngine on
SSLCertificateFile /usr/local/directadmin/data/users/admin/domains/{domain}.com.cert.combined
SSLCertificateKeyFile /usr/local/directadmin/data/users/admin/domains/{domain}.com.key
SSLCACertificateFile /usr/local/directadmin/data/users/admin/domains/{domain}.com.cacert
ServerName www.{domain}.com
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:80/
ProxyPassReverse / http://127.0.0.1:80/
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
ServerAlias www.{domain}.com {domain}.com
# ServerAdmin webmaster@{domain}.com
DocumentRoot /home/admin/domains/{domain}.com/private_html
# UseCanonicalName OFF
# <IfModule !mod_ruid2.c>
# SuexecUserGroup admin admin
# </IfModule>
# <IfModule mod_ruid2.c>
# RMode config
# RUidGid admin admin
# #RGroups apache access
# RGroups @none
# </IfModule>
CustomLog /var/log/httpd/domains/{domain}.com.bytes bytes
CustomLog /var/log/httpd/domains/{domain}.com.log combined
ErrorLog /var/log/httpd/domains/{domain}.com.error.log
# <Directory /home/admin/domains/{domain}.com/private_html>
# AllowOverride AuthConfig FileInfo Indexes Limit Options=Indexes,IncludesNOEXEC,MultiViews,SymLinksIfOwnerMatch,FollowSymLinks,None
# Options -ExecCGI -Includes +IncludesNOEXEC
# php_admin_flag engine ON
# php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f admin@{domain}.com'
# php_admin_value mail.log /home/admin/.php/php-mail.log
# php_admin_value open_basedir /home/admin/:/tmp:/var/tmp:/opt/alt/php72/usr/share/pear/:/dev/urandom:/usr/local/lib/php/:/usr/local/php72/lib/php/
# </Directory>
</VirtualHost>
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: Я просто хочу, чтобы это работало, я перенесу все изменения в отдельный файл, который не получит перезаписывается DA.
netstat:
[root@ ~]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3037/named
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2203/exim
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 2208/dovecot
tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 19248/varnishd
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 2208/dovecot
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 2203/exim
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 2208/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 2208/dovecot
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
***tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19248/varnishd
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 2203/exim
tcp 0 0 {ip}:53 0.0.0.0:* LISTEN 3037/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3037/named
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2226/pure-ftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2201/sshd
tcp6 0 0 ::1:953 :::* LISTEN 3037/named
***tcp6 0 0 :::443 :::* LISTEN 19143/httpd
tcp6 0 0 :::3306 :::* LISTEN 2860/mysqld
tcp6 0 0 :::2222 :::* LISTEN 19694/directadmin
tcp6 0 0 :::111 :::* LISTEN 1/systemd
***tcp6 0 0 :::80 :::* LISTEN 19248/varnishd
***tcp6 0 0 :::8080 :::* LISTEN 19143/httpd
tcp6 0 0 :::53 :::* LISTEN 3037/named
tcp6 0 0 :::21 :::* LISTEN 2226/pure-ftpd
tcp6 0 0 :::22 :::* LISTEN 2201/sshd
udp 0 0 {ip}:53 0.0.0.0:* 3037/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 3037/named
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 127.0.0.1:323 0.0.0.0:* 1341/chronyd
udp 0 0 0.0.0.0:659 0.0.0.0:* 1356/rpcbind
udp6 0 0 :::53 :::* 3037/named
udp6 0 0 :::111 :::* 1/systemd
udp6 0 0 ::1:323 :::* 1341/chronyd
udp6 0 0 :::659 :::* 1356/rpcbind
Теперь проблемы (с указанными выше настройками):
- https: // {domain} .com / вызывает NET :: ERR_CERT_AUTHORITY_INVALID * 103 9 *
- https://www. {Домен} .com / вызывает ERR_TOO_MANY_REDIRECTS
- https: // {домен} .com / test. php вызывает NET :: ERR_CERT_AUTHORITY_INVALID
- https://www. {Domain} .com / test. php отлично работает (хотя Varni sh) не обслуживается
с псевдоним сервера:
- https: // {domain} .com / бесконечная загрузка
- https://www. {domain} .com / бесконечная загрузка
- https: // {domain} .com / test. php отлично работает (хотя Varni не обслуживается sh)
- https://www. {Домен } .com / test. php работает нормально (хотя Varni не обслуживает sh)
Я не думаю, что имеет смысл вставлять каждую комбинацию настроек и ошибок, поэтому я хотел бы Я хотел бы спросить вас, видите ли вы, где может быть проблема (кроме использования DA).
Так как я думаю, что это до того, как дело доходит до varni sh .params и varni sh. vcl Я не вставлял эти файлы. Я несколько подозреваю, что .htaccess, но вы скажете мне, какие другие файлы я должен вставить.