Получение 404 для статического сайта S3 JS за прокси-сервером Apache - PullRequest
0 голосов
/ 28 августа 2018

У меня есть HTTP-сервер Apache, выступающий в качестве прокси-сервера перед статическим веб-сайтом AWS S3. Таким образом, http://example.com/testsite переходит на сайт S3, но должен отображаться как доступ с http://example.com/testsite.

Первоначальный доступ index.html приводит к ответу 200, однако все запускаемые файлы JavaScript возвращают 404. Они расположены в корне S3, так же как и index.html, но к ним в конечном итоге обращаются как http://example.com/ вместо http://example.com/testsite,, поэтому я получаю 404.

Я надеюсь, что кто-нибудь может помочь мне с моим фрагментом конфигурации Apache (см. Ниже, пожалуйста), чтобы я мог получить правильную конфигурацию.

RedirectMatch permanent ^/$ /doorman/
Redirect /js/ /frontman/js/
...
...
<Location /testsite >
  ProxyPreserveHost On
  AuthType openid-connect
  Require valid-user
  ProxyPass <%= @s3_website %>/
  ProxyPassReverse <%= @s3_website %>/
</Location>

1 Ответ

0 голосов
/ 29 августа 2018

Я решил это, используя конфигурацию ниже:

`` ` ProxyPreserveHost Off AuthType openid-connect Требуется действительный пользователь ProxyPass <% = @ s3_website%> ProxyPassReverse <% = @ s3_website%>

ProxyPreserveHost Off AuthType openid-connect Требуется действительный пользователь ProxyPass <% = @ s3_website%> / assets / $ 1 ProxyPassReverse <% = @ s3_website%> / assets / $ 1

ProxyPreserveHost Off AuthType openid-connect Требуется действительный пользователь ProxyPass <% = @ s3_website%> ProxyPassReverse <% = @ s3_website%> `` `

Ключевые части:

«ProxyPreserveHost Off» - имя моего сегмента S3 отличается от прокси-сервера, поэтому его необходимо отключить.

"LocationMatch" - требуется, чтобы прокси-сервер мог совпадать и отображать запросы URL и местоположение / объект корзины S3.

...