我正在使用反向代理和负载平衡。在我的场景中,我有三台服务器。第一台服务器是代理。第二个和第三个是使用 swarm 的 docker 服务器。端口 2020 用于 Apache 服务的两个副本。2021 端口用于 Nginx 服务的两个副本。平衡是根据副本完成的。由于我是 Nginx 的新手,我想知道以下设置是否足够。是否有可能改进此配置?安全吗?
proxy_config.conf:
##########
# Apache #
##########
upstream apache {
least_conn;
#Container replicas
server 192.168.0.4:2020;
server 192.168.0.5:2020;
}
server {
listen 80;
server_name host.apache.domain.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://apache;
}
}
#########
# Nginx #
#########
upstream nginx {
least_conn;
#Container replicas
server 192.168.0.4:2021;
server 192.168.0.5:2021;
}
server {
listen 80;
server_name host.nginx.domain.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://nginx;
}
}
在这种特定情况下,我使用了以下内容:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://nginx;
}
如果我只使用下面的配置,难道还不够吗?
location / {
proxy_pass http://nginx;
}
我阅读了 Nginx 文档,但我需要更多示例。
Digital Ocean 提供了一个免费的 NGINX 配置工具,带有代码注释和示例供您学习。绝对玩这个。我希望它在我学习 NGINX 的时候还存在。
访问nginxconfig.io
下面的带有安全标头代码的 SSL 反向代理服务器是用它生成的。您绝对可以在学习过程中对其进行自定义