Я искал в Google и не смог найти ответ. Я запускаю сервер на Ubuntu, и у меня установлены программы, использующие различные нестандартные порты. Каждый из них использует свой порт, в моем случае это 9090, 9091, 9092, 9093 и 9094. Я установил сервер apache и имею доменное имя, которое теперь может подключаться к моему серверу, вместо того, чтобы вводить мой IP-адрес. Я ищу способ создания каталогов, которые могут указывать на разные порты, которые я перечислил. Я хочу что-то вроде:
https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3
Некоторые порты имеют SSL, некоторые - нет, я просто привел их в порядок (9090-9094) для удобства использования с моей стороны. Я хотел бы, чтобы / app1 указывал на порт 9090 SSL, / app2 указывал на порт 9091 SSL и / app3 указывал на порт 9092 без SSL. Есть ли простой способ сделать это? Я пробовал добавить ProxyPass и тому подобное на основе других сообщений, но ничего не помогло. Мне нужно добавить новый сайт?
Кроме того, если это связано с редактированием файлов, а я ожидаю, что это произойдет, я был бы очень признателен, если бы вы могли указать местоположение файла по умолчанию и места для добавления. Я продолжал видеть сообщения о добавлении ProxyPass, поэтому я просто предположил, что он находится внутри VirtualHost, но я не был полностью уверен. По сути, я очень мало знаю о настройке веб-сервера, и ко мне нужно относиться как к такому.
Приношу свои извинения за неправильные теги и ценю время, которое вы потратили на прочтение сообщения, и любую помощь, которую вы можете предоставить.
РЕДАКТИРОВАТЬ: для пояснения, приложения уже доступны через https://www.mydomain.com:9090
и т. д. Я просто хотел бы использовать https://www.mydomain.com/appName
чтобы попасть в то же место / страницу, опубликованную этими приложениями.
РЕДАКТИРОВАТЬ 2: Из / etc / apache2 / sites-available / default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app1 https://localhost:9090/
ProxyPassReverse /app1 https://localhost:9090/
</VirtualHost>
Убедитесь, что следующие модули apache установлены и загружены:
mod_proxy
mod_proxy_http
mod_ssl
Вы можете проверить, выполнив следующую команду от имени пользователя root (при условии, что httpd находится в вашем $ PATH)
httpd -t -D DUMP_MODULES
После этого попробуйте изменить свою конфигурацию на следующее:
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
SSLProxyEngine on
ProxyPass /app1 https://localhost:9090
ProxyPassReverse /app1 https://localhost:9090
Прокси теперь должен работать, если вы посетите http://localhost/app1
или http://mydomain.com/app1
предполагая, что mydomain.com указывает на localhost.