0

In file /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ProxyPass / http://localhost:7000/
</VirtualHost>

When I type in the browser the address http://example.com I get a response from the application running on port 7000. What needs to be added in the settings so that when typing http://example.com in the browser, I would receive the contents of the /var/www/html/ directory, and when typing http://example.com/emby/, the response from the application on port 7000?

2 Answers2

0

As per https://httpd.apache.org/docs/2.4/mod/mod_proxy.html you need to do

ProxyPass "/emby" "http://localhost:7000/"
ProxyPassReverse "/emby" "http://localhost:7000/"

Keep in mind that ProxyPass and ProxyPassReverse do not rewrite any HTML or JS so if you have for example a SPA that loads from / or uses some absolute path, it may stop working.

Nick M
  • 2,424
  • 5
  • 34
  • 57
  • Thanks for the answer. I tried this example from the documentation. Why am I getting the error: Not Found The requested URL was not found on this server. – Oleg Romanovich Jul 12 '21 at 12:20
  • Do you have anything in the logs? How about the logs on the application in the back end (port 7k)? – Nick M Jul 12 '21 at 12:22
0

Found a solution to my problem in this answer: httpd - reverse proxy on multiple ports

As a result, the setting looks like this:

ProxyPass /emby/ http://localhost:7000/
ProxyPassReverse /emby/ http://localhost:7000/

I also created a folder:

mkdir /var/www/html/emby