首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在HTTPS和身份验证之后为MailCatcher服务?

如何在HTTPS和身份验证之后为MailCatcher服务?
EN

Server Fault用户
提问于 2011-09-10 17:20:48
回答 2查看 5.8K关注 0票数 4

我正在开发一个Rails应用程序,并且有一个临时服务器。但是这个临时服务器并没有发送任何电子邮件,相反,它是在丢弃它们。

为了测试我们发送的电子邮件,以及这些电子邮件的外观(所以我们可以使用QA的暂存服务器),我找到了MailCatcher。但是目前它关注的是开发环境,所以既不支持HTTPS也不支持身份验证--我不想为每个人公开所有的MailCatcher电子邮件。

有没有任何方法可以通过Apache或Nginx提供HTTPS和基本身份验证?也许是反向代理?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2011-09-11 05:12:15

经过一些尝试,并感谢用户梅尔克提示,我成功地使用Apache2.2 mod_proxy_balancer、mod_proxy和mod_proxy_http反向代理MailCatcher,能够为HTTPS和HTTPS身份验证报头提供服务。

一些设置细节:

  • 服务器正在运行Ubuntu10.04LTS
  • 我的邮递员gem是/usr/local/rvm/gems/ree-1.8.7-2011.03/gems/mailcatcher-0.5.1/public
  • 我的服务器网址是mailcatcher.example.com
  • 我在/etc/apache2/ssl/mailcatcher.example.com.pem/etc/apache2/ssl/mailcatcher.example.com.key上创建了一个自签名证书。
  • 我的HTTP BasicAuth用户名是用户名,密码是s3cr3t。
  • 用户称为部署。
  • MailCatcher需要由部署用户手动打开(换句话说,Apache不会自己打开它)。

创建htpasswd用户/密码文件

代码语言:javascript
运行
复制
mkdir -p /home/deploy/mailcatcher
htpasswd -cb /home/deploy/mailcatcher/htpasswd theusername s3cr3t

/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>

激活所需的Apache模块、站点并重新启动apache

代码语言:javascript
运行
复制
a2enmod ssl
a2enmod proxy_balancer
a2enmod proxy_http
a2ensite mailcatcher
service apache2 restart

上打开MailCatcher

代码语言:javascript
运行
复制
mailcatcher --ip 127.0.0.1 --smtp-port 1025 --http-port 1080

我做的最后一件事是配置我的Rails应用程序使用SMTP服务器127.0.0.1、端口1025 (而不是默认端口25)发送电子邮件。

若要访问https://mailcatcher.example.com,请使用用户名用户名和密码s3cr3t。

票数 3
EN

Server Fault用户

发布于 2012-02-16 19:33:42

也试试http://mailtrap.io -它是一个基于网络的假SMTP服务器,像邮件捕捉器。但它不要求您自己运行SMTP服务器和/或安装Apache。

它具有足够灵活的权限管理和授权。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/310060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档