Hi, 

nice to partecipate to this list 
I have a question: 


i have many virtual-host on apache for http and https pointing same web 
application folder 

/var/www/website1 --> /var/www/clients/client2/web1107/web 

following this schema https://pastebin.com/raw/s6WacZzd 

WebApplication has many domain list in db and impersonate that domains. 


1) for http://website1.example.com and http://www.httpwebsite[1-1000].com there 
is this configuration 


<Directory /var/www/website1> 
AllowOverride None 
Require all denied 
</Directory> 

<VirtualHost *:80> 

DocumentRoot /var/www/clients/client2/web1107/web 

ServerName website1.example.com 
ServerAlias www.httpwebsite1.com 
ServerAlias www.httpwebsite2.com 
ServerAlias www.httpwebsite3.com 
ServerAlias www.httpwebsite4.com 
ServerAlias www.httpwebsite5.com 
ServerAdmin webmas...@website1.example.com 


ErrorLog /var/log/ispconfig/httpd/website1/error.log 


<IfModule mod_ssl.c> 
</IfModule> 

<Directory /var/www/website1/web> 
# Clear PHP settings of this website 
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
SetHandler None 
</FilesMatch> 
Options +FollowSymLinks 
AllowOverride All 
Require all granted 
</Directory> 
<Directory /var/www/clients/client2/web1107/web> 
# Clear PHP settings of this website 
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
SetHandler None 
</FilesMatch> 
Options +FollowSymLinks 
AllowOverride All 
Require all granted 
</Directory> 
# suexec enabled 
<IfModule mod_suexec.c> 
SuexecUserGroup web1107 client2 
</IfModule> 
<IfModule mod_fastcgi.c> 
<Directory /var/www/clients/client2/web1107/cgi-bin> 
Require all granted 
</Directory> 
<Directory /var/www/website1/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler php-fcgi 
</FilesMatch> 
</Directory> 
<Directory /var/www/clients/client2/web1107/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler php-fcgi 
</FilesMatch> 
</Directory> 
Action php-fcgi /php-fcgi virtual 
Alias /php-fcgi /var/www/clients/client2/web1107/cgi-bin/php-fcgi-*-80-website1 
FastCgiExternalServer 
/var/www/clients/client2/web1107/cgi-bin/php-fcgi-*-80-website1 -idle-timeout 
300 -socket /var/lib/php7.0-fpm/web1107.sock -pass-header Authorization 
-pass-header Content-Type 
</IfModule> 
<IfModule mod_proxy_fcgi.c> 
#ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ 
unix:///var/lib/php7.0-fpm/web1107.sock|fcgi://localhost//var/www/clients/client2/web1107/web/$1
 
<Directory /var/www/clients/client2/web1107/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler "proxy:unix:/var/lib/php7.0-fpm/web1107.sock|fcgi://localhost" 
</FilesMatch> 
</Directory> 
</IfModule> 



# add support for apache mpm_itk 
<IfModule mpm_itk_module> 
AssignUserId web1107 client2 
</IfModule> 

<IfModule mod_dav_fs.c> 
# Do not execute PHP files in webdav directory 
<Directory /var/www/clients/client2/web1107/webdav> 
<ifModule mod_security2.c> 
SecRuleRemoveById 960015 
SecRuleRemoveById 960032 
</ifModule> 
<FilesMatch "\.ph(p3?|tml)$"> 
SetHandler None 
</FilesMatch> 
</Directory> 
DavLockDB /var/www/clients/client2/web1107/tmp/DavLock 
# DO NOT REMOVE THE COMMENTS! 
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! 
# WEBDAV BEGIN 
# WEBDAV END 
</IfModule> 
/VirtualHost> 



2) for https://website1.example.com i have another virtual host config file 


<IfModule mod_ssl.c> 
<VirtualHost *:443> 

DocumentRoot /var/www/clients/client2/web1107/web 

ServerName website1.example.com 
ServerAdmin webmas...@website1.example.com 


ErrorLog /var/log/ispconfig/httpd/website1/error.log 


<IfModule mod_ssl.c> 
</IfModule> 
<Directory /var/www/website1/web> 
# Clear PHP settings of this website 
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
SetHandler None 
</FilesMatch> 
Options +FollowSymLinks 
AllowOverride All 
Require all granted 
</Directory> 
<Directory /var/www/clients/client2/web1107/web> 
# Clear PHP settings of this website 
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
SetHandler None 
</FilesMatch> 
Options +FollowSymLinks 
AllowOverride All 
Require all granted 
</Directory> 




# suexec enabled 
<IfModule mod_suexec.c> 
SuexecUserGroup web1107 client2 
</IfModule> 
<IfModule mod_fastcgi.c> 
<Directory /var/www/clients/client2/web1107/cgi-bin> 
Require all granted 
</Directory> 
<Directory /var/www/website1/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler php-fcgi 
</FilesMatch> 
</Directory> 
<Directory /var/www/clients/client2/web1107/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler php-fcgi 
</FilesMatch> 
</Directory> 
Action php-fcgi /php-fcgi virtual 
Alias /php-fcgi /var/www/clients/client2/web1107/cgi-bin/php-fcgi-*-80-website1 
FastCgiExternalServer 
/var/www/clients/client2/web1107/cgi-bin/php-fcgi-*-80-website1 -idle-timeout 
300 -socket /var/lib/php7.0-fpm/web1107.sock -pass-header Authorization 
-pass-header Content-Type 
</IfModule> 
<IfModule mod_proxy_fcgi.c> 
#ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ 
unix:///var/lib/php7.0-fpm/web1107.sock|fcgi://localhost//var/www/clients/client2/web1107/web/$1
 
<Directory /var/www/clients/client2/web1107/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler "proxy:unix:/var/lib/php7.0-fpm/web1107.sock|fcgi://localhost" 
</FilesMatch> 
</Directory> 
</IfModule> 



# add support for apache mpm_itk 
<IfModule mpm_itk_module> 
AssignUserId web1107 client2 
</IfModule> 

<IfModule mod_dav_fs.c> 
# Do not execute PHP files in webdav directory 
<Directory /var/www/clients/client2/web1107/webdav> 
<ifModule mod_security2.c> 
SecRuleRemoveById 960015 
SecRuleRemoveById 960032 
</ifModule> 
<FilesMatch "\.ph(p3?|tml)$"> 
SetHandler None 
</FilesMatch> 
</Directory> 
DavLockDB /var/www/clients/client2/web1107/tmp/DavLock 
# DO NOT REMOVE THE COMMENTS! 
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! 
# WEBDAV BEGIN 
# WEBDAV END 
</IfModule> 

SSLCertificateFile /etc/letsencrypt/live/website1.example.com/fullchain.pem 
SSLCertificateKeyFile /etc/letsencrypt/live/website1.example.com/privkey.pem 
Include /etc/letsencrypt/options-ssl-apache.conf 
</VirtualHost> 
</IfModule> 




3) for https://www.httpwebsite1.com i have another virtual host config file 


<IfModule mod_ssl.c> 
<VirtualHost *:443> 

DocumentRoot /var/www/clients/client2/web1107/web 

ServerName www.httpwebsite1.com 
ServerAdmin webmas...@httpwebsite1.com 


ErrorLog /var/log/ispconfig/httpd/website1/error.log 


<IfModule mod_ssl.c> 
</IfModule> 

<Directory /var/www/website1/web> 
# Clear PHP settings of this website 
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
SetHandler None 
</FilesMatch> 
Options +FollowSymLinks 
AllowOverride All 
Require all granted 
</Directory> 
<Directory /var/www/clients/client2/web1107/web> 
# Clear PHP settings of this website 
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> 
SetHandler None 
</FilesMatch> 
Options +FollowSymLinks 
AllowOverride All 
Require all granted 
</Directory> 




# suexec enabled 
<IfModule mod_suexec.c> 
SuexecUserGroup web1107 client2 
</IfModule> 
<IfModule mod_fastcgi.c> 
<Directory /var/www/clients/client2/web1107/cgi-bin> 
Require all granted 
</Directory> 
<Directory /var/www/website1/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler php-fcgi 
</FilesMatch> 
</Directory> 
<Directory /var/www/clients/client2/web1107/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler php-fcgi 
</FilesMatch> 
</Directory> 
Action php-fcgi /php-fcgi virtual 
Alias /php-fcgi /var/www/clients/client2/web1107/cgi-bin/php-fcgi-*-80-website1 
FastCgiExternalServer 
/var/www/clients/client2/web1107/cgi-bin/php-fcgi-*-80-website1 -idle-timeout 
300 -socket /var/lib/php7.0-fpm/web1107.sock -pass-header Authorization 
-pass-header Content-Type 
</IfModule> 
<IfModule mod_proxy_fcgi.c> 
#ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ 
unix:///var/lib/php7.0-fpm/web1107.sock|fcgi://localhost//var/www/clients/client2/web1107/web/$1
 
<Directory /var/www/clients/client2/web1107/web> 
<FilesMatch "\.php[345]?$"> 
SetHandler "proxy:unix:/var/lib/php7.0-fpm/web1107.sock|fcgi://localhost" 
</FilesMatch> 
</Directory> 
</IfModule> 



# add support for apache mpm_itk 
<IfModule mpm_itk_module> 
AssignUserId web1107 client2 
</IfModule> 

<IfModule mod_dav_fs.c> 
# Do not execute PHP files in webdav directory 
<Directory /var/www/clients/client2/web1107/webdav> 
<ifModule mod_security2.c> 
SecRuleRemoveById 960015 
SecRuleRemoveById 960032 
</ifModule> 
<FilesMatch "\.ph(p3?|tml)$"> 
SetHandler None 
</FilesMatch> 
</Directory> 
DavLockDB /var/www/clients/client2/web1107/tmp/DavLock 
# DO NOT REMOVE THE COMMENTS! 
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE! 
# WEBDAV BEGIN 
# WEBDAV END 
</IfModule> 

SSLCertificateFile /etc/letsencrypt/live/www.httpwebsite1.com/fullchain.pem 
SSLCertificateKeyFile /etc/letsencrypt/live/www.httpwebsite1.com/privkey.pem 
Include /etc/letsencrypt/options-ssl-apache.conf 
</VirtualHost> 
</IfModule> 


I user call http://website1.example.com apache serve web application on 
virtualhost1 and web application redirect to https://website1.example.com, than 
served by Virtualhost2 
It's same with http://www.httpwebsite1.com served by virtualhost1: the web 
application redirect to https://www.httpwebsite1.com, thank served by 
VirtuaHost3 
If i call http://www.httpwebsite2[2-1000], served by Virtulhost1 it's ok, but 
if i call https://www.httpwebsite[2-1000].com there is the issue. Apache serve 
user call by VirtualHost3 giving the VirtulHost3 ssl Certificate. 

I'ts possible stop this Apache b ehavior? 


Thanks 
Gianluca Gargiulo 


Reply via email to