LINUX.ORG.RU
ФорумAdmin

Помогите победить конфигурацию apache под два сайта по HTTPS

 , , , ,


0

1

На одном хосте расположились redmine и gitea, хотелось бы отдавать их оба через apache по HTTPS, одина по адресу https://www.MYSUPERHOST.fvds.ru/redmine, другой по https://www.MYSUPERHOST.fvds.ru/gitea. Есть сертификат от let’s encrypt.

  • redmine крутится при помощи плагина apache, кажется, fusion passanger.
  • gitea крутится своим собственным бинарём и слушает по http локальный порт 3000.

Пробую следующий конфиг, в результате redmine работает, но для gitea apache возвращает 404:


<VirtualHost *:80>

	ServerAdmin admin@example.com
	Servername MYSUPERHOST.fvds.ru
	RewriteEngine on
	RewriteCond %{SERVER_NAME} =www.MYSUPERHOST.fvds.ru [OR]
	RewriteCond %{SERVER_NAME} =MYSUPERHOST.fvds.ru
	RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>


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

		ServerAdmin admin@example.com
		Servername MYSUPERHOST.fvds.ru
		DocumentRoot /var/www/html/

		<Location /redmine>
			RailsEnv production
			RackBaseURI /redmine
			Options -MultiViews
		</Location>


		Include /etc/letsencrypt/options-ssl-apache.conf
		ServerAlias www.MYSUPERHOST.fvds.ru
		SSLCertificateFile /etc/letsencrypt/live/MYSUPERHOST.fvds.ru/fullchain.pem
		SSLCertificateKeyFile /etc/letsencrypt/live/MYSUPERHOST.fvds.ru/privkey.pem
	</VirtualHost>

	<VirtualHost *:443>

		SSLProxyEngine On
		ProxyPreserveHost On
		ProxyRequests off

		<Proxy *>
		    Order allow,deny
		    Allow from all
		</Proxy>

		ProxyPass /gitea http://localhost:3000
		ProxyPassReverse /gitea http://localhost:3000


		Include /etc/letsencrypt/options-ssl-apache.conf
		ServerAlias www.MYSUPERHOST.fvds.ru
		SSLCertificateFile /etc/letsencrypt/live/MYSUPERHOST.fvds.ru/fullchain.pem
		SSLCertificateKeyFile /etc/letsencrypt/live/MYSUPERHOST.fvds.ru/privkey.pem
	</VirtualHost>

</IfModule>

Кажется удалось добиться этого вот такой конфигурацией:

<IfModule mod_ssl.c>


        <VirtualHost *:443>
        
        ServerAdmin admin@example.com
        Servername MYSUPERHOST.fvds.ru
        DocumentRoot /var/www/html/

        SSLProxyEngine On
        ProxyPreserveHost On
        ProxyRequests off

        <Proxy *>
            Order allow,deny
            Allow from all
        </Proxy>

        ProxyPass /redmine !
        ProxyPass /gitea http://localhost:3000
        ProxyPassReverse /gitea http://localhost:3000

        <Location /redmine>
                RailsEnv production
                RackBaseURI /redmine
                Options -MultiViews
        </Location>

        Include /etc/letsencrypt/options-ssl-apache.conf
        ServerAlias www.maclorens.fvds.ru
        SSLCertificateFile /etc/letsencrypt/live/maclorens.fvds.ru/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/maclorens.fvds.ru/privkey.pem
        </VirtualHost>

</IfModule>

Но делаю это все практически «вслепую», т.к. вообще не разбираюсь в конфигах апача… Оставлю вопрос в силе, мб толковые люди подскажут как правильно

omegatype ★★★ ()

Для redmine:

# The passenger module (from the libapache2-mod-passenger package) must be
# enabled
<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/www-cert.crt
    SSLCertificateKeyFile /etc/ssl/private/www-key.pem

    # ServerName my.domain.name
    # this is the passenger config
    RailsEnv production
    SetEnv X_DEBIAN_SITEID "default"
    PassengerDefaultUser www-data
    PassengerPoolIdleTime 0
    Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
    DocumentRoot /usr/share/redmine/public
    <Directory "/usr/share/redmine/public">
        Allow from all
        Options -MultiViews
        Require all granted
    </Directory>
    <Directory "/var/cache/redmine/default/plugin_assets">
        Allow from all
        Options -MultiViews
        Require all granted
    </Directory>
</VirtualHost>
einhander ★★★★★ ()