У меня есть приложение Facebook, размещенное на сервере с использованием tomcat. У меня также есть сервер Apache на той же машине, где я обрабатываю входящие запросы и перенаправляю их, основываясь на том, подходит ли ему безопасный порт (SLL 443) или 80 (стандартный порт HTTP). У меня есть только один домен, который является www.myfacebookapp.net.
Проблема начинается, когда мне нужно разместить приложение и веб-сайт на одном сервере. Обычно это не должно быть проблемой, однако и мое приложение, и веб-сайт должны поддерживать SSL (Facebook сделал это обязательным, поскольку он не принимает любое соединение, которое не является безопасным (не https))
Ниже приведена сводная информация о моей конфигурации
- У меня есть только один домен www.yarimelma.net
- У меня есть сертификат SSL, который поддерживает только один домен.
- Я предоставил содержимое статической веб-страницы в /var/www/http/public_html/index.html
- Мой экземпляр tomcat работает на 8080, а мой путь к приложению - www.myfacebookapp.net/myApp
- Поэтому, когда я запускаю свое приложение на Facebook, оно отправляет запрос POST на URL: https://www.myfacebookapp.net/myApp
Я настроил свой экземпляр apache с виртуальными хостами так, чтобы
VirtualHost1 (*: 80)
ServerName www.myfacebookapp.net
DocumentRoot /var/www/http/public_html/
VirtualHost1 (*: 443) #direct to tomcat
ServerName www.myfacebookapp.net
DocumentRoot /var/www/http/public_html/ ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ServerName www.myfacebookapp.net
SSLEngine on
#other ssl related config
Он отлично работает с моим приложением facebook, а также с веб-страницей, когда я захожу на мою веб-страницу с 80 (http://www.myfacebookapp.net)). Однако я должен также поддерживать свою веб-страницу с поддержкой соединений https. К сожалению, я не могу добиться этого с этой конфигурацией. Итак, что я хотел бы сделать,
Можно ли добиться этого без каких-либо дополнительных доменных имен и SSL-сертификата?
Мне не удалось найти такую конфигурацию, чтобы
- если запрос поступил с https://www.myfacebookapp.net/myApp *: 443 ->, затем перенаправить на http://127.0.0.1:8080 (приложение tomcat to server)
- Если запрос поступил от https://www.myfacebookapp.net ->, затем перенаправить на / var / www / html / public_html (для обслуживания веб-страницы)
В документации Apache говорится, что я не могу определить два виртуальных хоста для 443 (https) и одного домена.
Как правило, я хочу разместить свое приложение Facebook и веб-сайт на одном сервере, и оба должны быть доступны через https.
Кто-нибудь знает какое-либо решение по этому поводу?
Спасибо /