Apache HTTP mankany amin'ny HTTPS Proxy Redirect adiresy maro

Mila ny fanampianao aho.

Manana kinova 2 an'ny fampiharana mandeha amin'ny milina Linux aho. Ny Version1 dia mandeha amin'ny port localhost 5000, ny version2 dia mandeha amin'ny port localhost 5001.

Mila mpampiasa aho hiditra amin'ny iray amin'ireo kinova fampiharana arakaraka ny URL ampiasain'izy ireo.

Ny Apache httpd.conf misy ahy toy izao:

Rehefa manoratra http: /my.company.com ny mpampiasa dia mamindra azy ireo mankany amin'ny seranana https 443 sy seranana 443 mankany localhost 5000. Mety izany.

<VirtualHost *:80>                                                                                                                                          
ServerName my.company.com                                                                                                                  
Redirect / https://my.company.com/                                                                                                                 
</VirtualHost>                                                                                                                                                                  

<VirtualHost *:443>                                                                                                                                        
ServerName my.company.com/                                                                                                                 
TimeOut 600                                                                                                                                                     
ProxyPreserveHost On                                                                                                                                            
ProxyRequests Off                                                                                                                                            
ProxyPass / http://localhost:5000/                                                                                                                           
ProxyPassReverse / http://localhost:5000/                                                                                                                
SSLEngine on                                                                                                                                                     
SSLOptions +StrictRequire                                                                                                                                
SSLCertificateFile /etc/pki/tls/certs/my.company.crt                                                                                                               
SSLCertificateKeyFile /etc/pki/tls/private/my.company.key                                                                                     
</VirtualHost>  

Izao dia mila manao aho rehefa manoratra ireo mpampiasa http: // my .company.com: 15000 dia mamindra azy ireo amin'ny seranana HTTPS sasany izay mitodika any amin'ny localhost 5001 izay mihaino ny fangatahako.

Raha misy fomba hafa hanaovana azy, dia ampiasao ny mampiasa anarana hafa toy ny my-v2. orinasa.com mety handeha koa io. Afaka mamorona fidirana DNS vaovao aho. Ny hevitra dia ny hoe samy mampiasa seranana hafa na sehatra hafa ny mpampiasa fa tokony hamindra azy ireo amin'ny seranana fampiharana hafa.

Nanandrana nitady teto aho ary nanandrana fanamboarana marobe ary tsy afaka nampandeha azy tahaka izao

Misaotra taonina!

0
задан 5 January 2020 в 20:30
1 ответ

Можно определить приблизительно VirtualHost с для того же порта, просто необходимо установить различные директивы ServerName для каждого.

, Если Вы хотите, чтобы my.company.com был приложением в порте 5000, и my-v2.company.com, чтобы быть приложением в порте 5001, я предложил бы, чтобы Вы пошли с конфигурацией как это:

# Enable name-based routing on port 80 and port 443
NameVirtualHost *:80
NameVirtualHost *:443

# Redirect HTTP -> HTTPS on my.company.com
<VirtualHost *:80>
ServerName my.company.com
Redirect / https://my.company.com/
</VirtualHost>

# Redirect HTTP -> HTTPS on my-v2.company.com
<VirtualHost *:80>
ServerName my-v2.company.com
Redirect / https://my-v2.company.com/
</VirtualHost>

# Serve the application on port 5000 to https://my.company.com
<VirtualHost *:443>
ServerName my.company.com
TimeOut 600
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/pki/tls/certs/my.company.crt
SSLCertificateKeyFile /etc/pki/tls/private/my.company.key
</VirtualHost>

# Serve the application on port 5001 to https://my-v2.company.com
<VirtualHost *:443>
ServerName my-v2.company.com
TimeOut 600
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:5001/
ProxyPassReverse / http://localhost:5001/
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/pki/tls/certs/my-v2.company.crt
SSLCertificateKeyFile /etc/pki/tls/private/my-v2.company.key
</VirtualHost>

реальное волшебство об этом ответе является первыми двумя строками, которые говорят Apache позволять создавать два VirtualHosts на том же порте и дифференцировать их ServerName, который был установлен.

1
ответ дан 6 January 2020 в 08:58

Теги

Похожие вопросы