Sed в httpd.conf только для одного

У меня есть файл httpd.conf, содержащий следующие виртуальные хосты:

<VirtualHost *:443>
JkMount /soncn/* tomcat3
SSLProtocol -all +TLSv1
SSLCipherSuite RSA:!LOW:!EXP:!eNULL:!aNULL:!RC4
SSLEngine on
SSLCertificateFile bla
SSLCertificateKeyFile  bla
RewriteEngine On
RewriteOptions Inherit
ServerName dionisos
</VirtualHost>
SSLSessionCache  dbm:/opt/apache/logs/ssl_gcache_data
<VirtualHost *:8443>
SSLProtocol -all +TLSv1
SSLCipherSuite RSA:!LOW:!EXP:!eNULL:!aNULL:!RC4
SSLEngine on 
SSLCertificateFile bla
SSLCertificateKeyFile  bla
RewriteEngine On
RewriteOptions Inherit
ServerName dionisos
ProxyRequests Off
ProxyPreserveHost On
PerlModule CSA_Filter
<Proxy *>
Require all granted
</Proxy>
ProxyPass / ajp://162.237.187.150:8012/
ProxyPassReverse / ajp://162.237.185.150:8012/
ProxyTimeout 3600
</VirtualHost>
<VirtualHost *:8191>
SSLProtocol -all +TLSv1
SSLCipherSuite RSA:!LOW:!EXP:!eNULL:!aNULL:!RC4
SSLEngine on
SSLCertificateFile bla
SSLCertificateKeyFile  bla
RewriteEngine On
RewriteOptions Inherit
ServerName dionisos
ProxyRequests Off
ProxyPreserveHost On
PerlModule CSA_Filter
<Proxy *>
Require all granted
</Proxy>
ProxyPass / ajp://bla:8010/
ProxyPassReverse / ajp://bla:8010/
ProxyTimeout 3600
</VirtualHost>

Я хочу вставить следующие строки только для VirtualHost *: 443:

<Proxy *>
Require all granted
</Proxy>
ProxyPass /App https://servername:8080/App/
ProxyPassReverse /App https://servername:8080/App/

У меня было много попыток, но я не смог найти правильный sed:

cat httpd.conf|tr '\n' '^'|sed 's#\(<VirtualHost \*:443>.*ServerName dionisos\)#\1 \n<Proxy *>\nRequire all granted\n</Proxy>\nProxyPass /App https://servername:8080/App/\nProxyPassReverse /Wibox https://servername:8080/App/ \n#g'|tr '^' '\n' > httpd.conf.updated
0
28.03.2016, 12:39
0 ответов

Теги

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