Depois de algumas tentativas, e graças à dica mailq , consegui usar o Apache 2.2 mod_proxy_balancer, mod_proxy e mod_proxy_http para MailCatcher de proxy reverso, podendo servir cabeçalhos de autenticação básica HTTPS e HTTP.
Alguns detalhes da configuração:
- O servidor está executando o Ubuntu 10.04 LTS
- Meu diretório gemcatcher é
/usr/local/rvm/gems/ree-1.8.7-2011.03/gems/mailcatcher-0.5.1/public
. - Meu URL do servidor é
mailcatcher.example.com
. - Eu criei um certificado autoassinado em
/etc/apache2/ssl/mailcatcher.example.com.pem
e/etc/apache2/ssl/mailcatcher.example.com.key
. - Meu nome de usuário HTTP BasicAuth é theusername e a senha é s3cr3t .
- O usuário é chamado de implantação .
- O MailCatcher precisa ser ativado manualmente pelo usuário deploy (em outras palavras, o Apache não o ativará por conta própria).
Crie um arquivo de usuário / senha htpasswd
mkdir -p /home/deploy/mailcatcher
htpasswd -cb /home/deploy/mailcatcher/htpasswd theusername s3cr3t
Escreva para / etc / apache2 / sites-available / mailcatcher
<VirtualHost *:443>
ServerName mailcatcher.example.com
DocumentRoot /usr/local/rvm/gems/ree-1.8.7-2011.03/gems/mailcatcher-0.5.1/public
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/mailcatcher.example.com.pem
SSLCertificateKeyFile /etc/apache2/ssl/mailcatcher.example.com.key
<Directory /usr/local/rvm/gems/ree-1.8.7-2011.03/gems/mailcatcher-0.5.1/public>
Allow from all
Options -MultiViews
FileEtag none
</Directory>
<LocationMatch "/">
AuthType Basic
AuthName "MailCatcher"
AuthUserFile /home/deploy/mailcatcher/htpasswd
Require valid-user
</LocationMatch>
RequestHeader set X_FORWARDED_PROTO 'https'
ProxyPassReverse / balancer://mailcatcher
ProxyPreserveHost on
ProxyRequests On
ProxyPass / balancer://mailcatcher/
<Proxy balancer://mailcatcher>
Order deny,allow
Allow from all
BalancerMember http://127.0.0.1:1080
</Proxy>
</VirtualHost>
Ative os módulos necessários do Apache, site e reinicie o apache
a2enmod ssl
a2enmod proxy_balancer
a2enmod proxy_http
a2ensite mailcatcher
service apache2 restart
Transforme o MailCatcher em
mailcatcher --ip 127.0.0.1 --smtp-port 1025 --http-port 1080
A última coisa que fiz foi configurar meu aplicativo Ruby on Rails para enviar e-mails usando o servidor SMTP 127.0.0.1, porta 1025 (em vez da porta padrão 25).
Para acessar o link , com o nome de usuário theusername e a senha s3cr3t .