Назад | Перейти на главную страницу

Обратный прокси-сервер Apache SSL для узлового сервера с использованием веб-сокетов

Переход к корневому домену, например https://sub.example.com и перемещаться по таким страницам, как https://sub.example.com/page1 работает.

Но только если я начну свое первоначальное подключение с корня. Если я обновлю браузер, пока URL-адрес https://sub.example.com/page1, Я получаю 404:

Невозможно GET / page1

Я подозреваю, что это как-то связано с каким-то первоначальным рукопожатием SSL, но я просто недостаточно хорошо разбираюсь в этом предмете, чтобы действительно понять, где мне следует искать. Я пробовал много разных сайтов .conf файлы без удачи. Прекрасно работает в моей среде разработки с использованием базового доступа по HTTP.

Вот базовый файл конфигурации, который я пробовал:

  <VirtualHost sub.example.com:80>
      ServerName sub.example.com

      <Location />
          ProxyPass http://localhost:3020/
          ProxyPassReverse http://localhost:3020/
      </Location>

      RewriteEngine on
      RewriteCond %{SERVER_NAME} =sub.example.com
      RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
  </VirtualHost>

  <VirtualHost sub.example.com:443>
      ServerName sub.example.com

      SSLEngine on
           SSLProxyEngine On
           ProxyRequests On

      <Location />
          ProxyPass http://localhost:3020/
          ProxyPassReverse http://localhost:3020/
      </Location>

      SSLCertificateFile /etc/letsencrypt/live/sub.example.com/cert.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/sub.example.com/privkey.pem
      Include /etc/letsencrypt/options-ssl-apache.conf
      SSLCertificateChainFile /etc/letsencrypt/live/sub.example.com/chain.pem

      RewriteEngine on
      RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
      RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
      RewriteRule .* ws://localhost:3020%{REQUEST_URI} [P]
  </VirtualHost>