js-сервер, работающий на 8200
и я только что получил сертификаты SSL для своего домена. Я хочу иметь возможность обслуживать свою страницу по HTTPS.
Пока мой файл конфигурации apache выглядит так
Файл: /etc/apache2/sites-enabled/synsis.conf
<VirtualHost *:443>
ServerAdmin sova.k@gmail.com
ServerName www.synsis.live
ServerAlias synsis.live
SSLEngine On
SSLProxyEngine On
SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass https://localhost:8200/
ProxyPassReverse https://localhost:8200/
</Location>
</VirtualHost>
Однако мой сайт не загружается с использованием этой конфигурации. Любые идеи?
apachectl -t
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK
и apachectl -S
VirtualHost configuration:
*:80 is a NameVirtualHost
default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost ch.mu (/etc/apache2/sites-enabled/c.conf:1)
port 80 namevhost www.hai.run (/etc/apache2/sites-enabled/hai.conf:3)
alias hai.run
port 80 namevhost practicalhuman.org (/etc/apache2/sites-enabled/ph.conf:4)
alias www.practicalhuman.org
*:443 www.synthesis.live (/etc/apache2/sites-enabled/synthesis.conf:5)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex proxy: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33 not_used
Group: name="www-data" id=33 not_used
Ваша конфигурация содержит три из моих основных претензий к примерам конфигурации в дикой природе
<Proxy *>
блоки при настройке обратного прокси. <Proxy>
блоки почти используется исключительно для настройки прямых прокси, а не обратных. В вашем случае это не нужно.ProxyPass
внутри блоков локации. Лучше всего использовать версию с двумя аргументами ProxyPass
если нет альтернативы.Allow
, Order
, Satisfy
и require
директивы к новой версии 2.4 Require
директива и <RequireAny>
и <RequireAll>
блоки.SSLProxyEngine
директива используется для настройки вашего сервера, когда вы проксируете к и службы на основе SSL и не имеет ничего общего с тем, является ли ваш фактический виртуальный хост SSL или нет (Да, я знаю, что сказал 3, но это очень незначительный, и я добавил его только потому, что вы ответили, что ваш сервер не был включен SSL :-)Попробуйте следующее в качестве основы и, надеюсь, «очистите» настройку и продолжите работу. * если это не работает, расскажите нам, что происходит на самом деле, а не просто говорите «не работает».
<VirtualHost *:443>
ServerAdmin sova.k@gmail.com
ServerName www.synsis.live
ServerAlias synsis.live
SSLEngine On
SSLProxyEngine On
SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"
# This is the default anyway, but no harm having it explicitly set
ProxyRequests Off
# You say in a comment your backend is not SSL, but your original configuration
# tries to proxy to an SSL enabled service. This is almost certainly
# why it originally failed
ProxyPass / http://localhost:8200/
ProxyPassReverse / http://localhost:8200/
</VirtualHost>
у вас бэкэнд ssl?
если не:
<VirtualHost *:443>
ServerAdmin sova.k@gmail.com
ServerName www.synsis.live
ServerAlias synsis.live
SSLEngine On
SSLProxyEngine On
SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
ProxyPass http://localhost:8200/
ProxyPassReverse http://localhost:8200/
</Location>
</VirtualHost>
если это:
<VirtualHost *:443>
ServerAdmin sova.k@gmail.com
ServerName www.synsis.live
ServerAlias synsis.live
SSLEngine On
SSLProxyEngine On
SSLCertificateFile "/home/vas/synsis.live/certs/domain.crt"
SSLCertificateKeyFile "/home/vas/synsis.live/certs/domain.key"
SSLCertificateChainFile "/home/vas/synsis.live/certs/intermediate.pem"
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location />
SSLProxyEngine on
ProxyPass https://localhost:8200/
ProxyPassReverse https://localhost:8200/
</Location>
</VirtualHost>