У меня есть небольшое приложение Rails, которое в настоящее время обслуживается (для разработки и производства) тонким сервером на порту 3000, на компьютере Debian, на котором также запущен apache2, обслуживающий приложения PHP.
Я не уверен, возможно ли это даже с учетом текущей настройки, но есть ли способ удалить номер порта из URL-адреса приложения rails, но все еще иметь тонкое прослушивание с того же порта, чтобы не столкнуться с apache?
Текущий
https://my-rails-site:3000/
Предложил
https://my-rails-site/
Или мне просто использовать что-то вроде Пассажира?
Если вы используете пассажира, вот что мне пришлось использовать, чтобы заставить его работать на www.mysite.com без использования www.mysite.com:80 на сервере centos:
В etc / httpd / conf ключ заключался в том, чтобы раскомментировать NameVirtualHost *: 80 и изменить * на IP-адрес моего сервера. Убедитесь, что в Listen 80 нет комментариев. Также добавьте свой ip в тег VirtualHost. Он должен работать на 80-м порту, а не на 8080 или другом на ваш выбор.
NameVirtualHost xx.xx.xx.xx:80
Listen 80
<VirtualHost xx.xx.xx.xx:80>
ServerName www.mysite.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /var/www/vhosts/mysite.com/httpdocs/public/
<Directory /var/www/vhosts/mysite.com/httpdocs/public/>
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
</Directory>
</VirtualHost>
Нет, это невозможно. Либо запустите его изнутри Apache (например, с пассажиром), либо используйте Apache как прокси чтобы направить его в другой порт.
Однако, если вы вообще не используете SSL на Apache (и этот порт не используется), вы можете запустить свое приложение на порту 443, если он также поддерживает SSL, поскольку предполагается, что порт 443 используется, если вы указываете URL-адрес HTTPS.