我刚刚创建了一个第 4 层 nginx 服务器,它用作 kubernetes 集群的负载均衡器。
我知道这是一个非常基本的问题(而且我可能会因此遭到很多反对),但是是否可以在同一台机器上安装和运行邮件服务器?邮件服务器流量是否只是在不同的端口上运行,因此不应该成为问题?
我的 nginx 配置如下:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
stream {
upstream http {
server 123.45.67.170:80;
server 123.45.67.171:80;
server 123.45.67.172:80;
}
upstream ssl {
server 123.45.67.170:443;
server 123.45.67.171:443;
server 123.45.67.172:443;
}
server {
listen 80;
proxy_pass http;
}
server {
listen 443;
proxy_pass ssl;
}
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
}
我想我必须添加这样的内容:
mail {
server_name mail.test.com;
auth_http http://127.0.0.1:8000;
xclient off;
server {
listen 3333;
protocol smtp;
smtp_auth none;
}
}
但如果这是正确的,我应该在这台机器上安装邮件服务器还是应该使用在 k8s 集群中运行的邮件服务器?
答案1
您的假设是正确的,只要这些端口未被使用,您就可以同时运行任何内容。这是否是明智之举又是另一个问题,但绝对是可能的。
出于各种原因,我强烈建议在不同的机器/实例上运行邮件服务器,并且出于生产目的,您可能需要考虑在不同的 IP 上运行它,以便更容易处理黑名单问题。
不用担心,这个平台是用来学习的,而这正是那种无法通过谷歌简单搜索到的问题。版主可能会不同意 :)