Apache üzerinden güvenli bir web proxy çalıştırmaya karar verdik. sunucuya bir etki alanı adı verdik ve sonra bu etki alanı için SSL sertifikası aldık ve sonra Apache / 2.2.22 ile Ubuntu 12.04 (kesin) olarak uyguladık.
Sunucuyu çalıştırdığımda varsayılan site (HTTP) yani sanalhost olarak sadece IP ile proxy düzgün çalıştı.
Sonra bu proxy sunucusu için SSL yapmaya karar verdim, IP adresi için SSL'ye izin verilmediğinden bir etki alanı seçtik ve bu nedenle devam ettik.
Ayrıca mod_rewrite özelliğini etkinleştirdim, böylece tüm HTTP istekleri SSL web sitesinden geçer
Sırasıyla HTTP sanal ana makinem ve SSL sanal ana bilgisayar yapılandırmam,
<VirtualHost 12.12.12.12:80>
ServerAdmin webmaster@localhost
ServerName example.net
ServerAlias www.example.net
ProxyRequests On
ProxyVia On
<Proxy *>
Order allow,deny
Deny from all
Allow from 104.12
</Proxy>
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]
DocumentRoot /var/www
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
SSL yapılandırması
<IfModule mod_ssl.c>
<VirtualHost 12.12.12.12:443>
ServerAdmin webmaster@localhost
ServerName example.net
ServerAlias www.example.net
ProxyVia On
ProxyPass / https://127.0.0.1:443/
ProxyPreserveHost On
SSLProxyCheckPeerCN off
#ProxyPreserveHost on
ProxyRequests On
SSLEngine on
SSLProxyEngine On
SSLCertificateFile /etc/ssl/ssl_proxy/example_net.crt
SSLCertificateKeyFile /etc/ssl/ssl_proxy/example.net.key
SSLProxyVerify require
SSLProxyVerifyDepth 10
SSLProxyMachineCertificateFile /etc/ssl/ssl_proxy/example.net.csr
SSLProxyCACertificateFile /etc/ssl/ssl_proxy/example_net.ca-bundle
SSLStrictSNIVHostCheck on
DocumentRoot /var/www
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
<Proxy *>
Order allow,deny
Deny from all
Allow from 104.12
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
Yukarıdaki tüm olasılık seçeneklerini denedim, ancak hiçbiri işe yaramadı. Bu yüzden ne zaman bir web sitesine girdiğimde hata alıyorum
Hostname example.net provided via SNI and hostname yahoo.com provided via HTTP are different.
Neyi yanlış yapıyorum hakkında fikrin var mı?
Teşekkür ederim Sai