在我目前的设置中,我有一个web应用程序,通常可以在不使用反向代理时发送电子邮件。
应用程序和站点不是在HTTPS上运行,而是在HTTP上运行。
最近我尝试使用反向代理使应用程序运行在HTTPS后面并使用CA证书
下面是nginx配置文件upstream app.domain.com
server 192.168.100.47:8080;
server {
listen 80;
server_name app.domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name app.domain.com;
ssl_certificate /etc/nginx/certs/cert1.crt;
ssl_certificate_key /etc/nginx/certs/cert1.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
keepalive_timeout 60;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect on;
proxy_pass http://app.domain.gr/;
}
}
还要注意nginx运行在docker容器上,但我怀疑这是相关的
Thanks in advance
nginx反向代理负责到应用程序的HTTP/HTTPS流量,但不负责从应用程序发出的邮件。
您是否已经调试了有关邮件发送的应用程序?
要发送邮件,您的应用程序必须能够通过SMTP联系相应的邮件服务器,通常是端口25或端口465 (TLS安全)。