Hi, I define both vhost with <hostname>:<port> because each “hostname” links to different hosts. Machines A and B are differents and they are serving its sites, so in Apache I must declare (I think…) each host because I need to differentiate them. If I use *:<port>, how are I differentiating both hosts if they are different?
Output of “apachectl -S”: * in my running R (CentOS), where redirection works: VirtualHost configuration: my_ip_address:80 is a NameVirtualHost default server A.mydomain (/etc/httpd/conf.d/000-default.conf:1) port 80 namevhost A.mydomain (/etc/httpd/conf.d/000-default.conf:1) alias A alias A.mydomain.v2 port 80 namevhost B.mydomain (/etc/httpd/conf.d/000-default.conf:101) alias B alias B.mydomain.v2 ServerRoot: "/etc/httpd" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/etc/httpd/logs/error_log" Mutex mpm-accept: using_defaults Mutex authdigest-opaque: using_defaults Mutex proxy-balancer-shm: using_defaults Mutex rewrite-map: using_defaults Mutex authdigest-client: using_defaults Mutex proxy: using_defaults Mutex authn-socache: using_defaults Mutex default: dir="/run/httpd/" mechanism=default PidFile: "/run/httpd/httpd.pid" Define: _RH_HAS_HTTPPROTOCOLOPTIONS Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="apache" id=48 Group: name="apache" id=48 * in my new R (Rocky-8.9), where redirection doesn’t work: VirtualHost configuration: 192.168.1.2:80 A.mydomain (/etc/httpd/conf.d/000-default.conf:1) 192.168.1.5:80 B.mydomain (/etc/httpd/conf.d/000-default.conf:101) ServerRoot: "/etc/httpd" Main DocumentRoot: "/var/www/html" Main ErrorLog: "/etc/httpd/logs/error_log" Mutex authdigest-opaque: using_defaults Mutex watchdog-callback: using_defaults Mutex proxy-balancer-shm: using_defaults Mutex rewrite-map: using_defaults Mutex authdigest-client: using_defaults Mutex lua-ivm-shm: using_defaults Mutex proxy: using_defaults Mutex authn-socache: using_defaults Mutex default: dir="/etc/httpd/run/" mechanism=default Mutex cache-socache: using_defaults PidFile: "/etc/httpd/run/httpd.pid" Define: DUMP_VHOSTS Define: DUMP_RUN_CFG User: name="apache" id=48 Group: name="apache" id=48 Thanks a lot! De: Frank Gingras <thu...@apache.org> Enviat: divendres, 15 de desembre de 2023 15:49 Per a: users@httpd.apache.org Tema: Re: [users@httpd] Problems with "VirtualHost" On Fri, Dec 15, 2023 at 2:57 AM Gestió Servidors <sysadmin.c...@uab.cat.invalid<mailto:sysadmin.c...@uab.cat.invalid>> wrote: Hello, I have a small Apache where I run a redirection to two private hosts. My machine (R, router) is connected to Interned and to a private LAN (192.168.x.x/16). Behind “R”, there are two machines (A and B) that are serving two websites. R has an DNS alias with two public DNS names for A and B (because some years ago, A and B were machines with public IP addresses). Now, I want to change R and configure a new R machine (newest distribution). However, in new R, redirect doesn’t run and I can’t get browing from Internet to A and B websites. I copypaste here all information: * R: * CentOS-7.9.2009 * Apache: 2.4.6-99.el7.centos.1 * new R: * Rocky Linux 8.9 * Apache: 2.4.37-62.module+el8.9.0+1436+2b7d5021 My configuration file where I have configured “VirtualHost” is the same in both servers: <VirtualHost A.mydomain:80> ServerAdmin foo@boo<mailto:sysadmin.c...@uab.cat> ServerName A.mydomain ServerAlias A A.mydomain LogLevel info ErrorLog /var/log/httpd/virtualhost-A.log ProxyPass / http://192.168.1.2/ ProxyPassReverse / http://192.168.1.2/ <Location /> <RequireAny> Require ip my_network </RequireAny> </Location> <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride all <RequireAny> Require ip my_network </RequireAny> </Directory> </VirtualHost> <VirtualHost B.mydomain:80> ServerAdmin foo@boo<mailto:sysadmin.c...@uab.cat> ServerName B.mydomain ServerAlias B B.mydomain LogLevel info ErrorLog /var/log/httpd/virtualhost-B.log ProxyPass / http://192.168.1.5/ ProxyPassReverse / http://192.168.1.5/ <Location /> <RequireAny> Require ip my_network </RequireAny> </Location> <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride all <RequireAny> Require ip my_domain </RequireAny> </Directory> </VirtualHost> With this file, in server R, redirection runs perfectly and when I browse http://A/mysiteA, R redirect connection to private machine A (the same when I browse to http://B/mysiteB). However, in new R, when I browse to http://A/mysiteA (or http://B/mysiteB), there are no redirection and I can see at logs this message: File does not exist: /var/www/html/mysiteA (or File does not exist: /var/www/html/mysiteB). Where is the problem? Thanks! You don't want to define a vhost as <hostname>:<port>, unless you know exactly what you are doing. When unsure, always use *:<port>. Show the output from apachectl -S or httpd -S after you applied the fixes.