问题:当项目部署在内网的时候,需要向外网发送消息,比如邮件等。
解决前提:将nginx 部署在其它可以访问外网的服务器上,且与部署项目的服务器同属同一局域网下。
解决过程:
1、针对nginx进行配置
upstream mailsmtp_pro {server smtp.qq.com:587;}server {listen 587; # 对外提供服务TCP监听proxy_connect_timeout 5s;proxy_timeout 5s;proxy_pass mailsmtp_pro;}
2、针对springBoot进行配置
spring.mail.host=mailsmtp_prospring.mail.port=587spring.mail.username=xxxx@qq.comspring.mail.password=azsiwoitpekyfhafspring.mail.default-encoding=UTF-8spring.mail.properties.mail.smtp.socketFactoryClass=javax.net.ssl.SSLSocketFactoryspring.mail.properties.mail.debug=true
通过这样的形式,nginx起到一个代理的作用。
