gpt4 book ai didi

apache - centos 7上Nginx反向代理apache,同时配置http和https

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:41 26 4
gpt4 key购买 nike

我正在使用 Centos 7 将端口 80 的 nginx 配置为端口 8080 上的 Apache 服务器的代理服务器。

我成功地为 http 配置了这两个,但是在为 Apache 安装了 lets encrypt 证书之后,我看到 Apache 正在直接接收 https 的流量。我试图让 nginx 接收所有 HTTP 和 HTTPS 的流量,但遇到问题,

我做了很多改变,比如禁用 apache 监听 443 端口,只监听 8080。我将 nginx 配置为同时监听 80 和 443,另外我删除了 apache 的证书并添加到 nginx 配置文件中。目前。

nginx配置如下:

server {
listen 80;
listen [::]:80 default_server;
#server_name _;
server_name www.example.com;

root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {

proxy_pass http://my.server.ip.add:8080;
root /usr/share/nginx/html;
proxy_redirect off;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

server {
listen 443 default_server;
server_name www.example.com;

root /usr/share/nginx/html;

ssl on;
ssl_certificate /etc/letsencrypt/live/www.example.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;

ssl_prefer_server_ciphers on;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
#ssl_dhparam /etc/pki/nginx/dh2048.pem;

# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA--REMOVED-SOME-HERE-SHA';

location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}

注意:我使用的是 php 7.0

当前站点正在同时处理 https 和 http,但存在 1 个已知问题,即未加载用户图像。但我不确定它是由 apache 还是 nginx 提供的,在响应中我可以看到“nginx/1.10.2”

What I was actually going to implement: I was trying to run both node.js and apache using nginx. I donot start node yet.

我的问题:

  1. 前端用nginx,后端用apache真的有用吗? (我读到它可以防止 dDos 攻击)。
  2. 我们应该把证书放在 nginx 或 apache 的什么地方?
  3. 如何在 nginx 配置中添加 node.js?我已经安装了节点 js。
  4. 同时使用 nginx 和 apache 的最佳配置是什么?

最佳答案

晚上好首先,您在基础架构级别所做的所有考虑都非常好,我认为尽管此时实现困难,但代理配置是最好的。

我已经使用它一段时间了,受益匪浅。但是,我想问一下您使用的是什么类型的云基础设施,因为根据技术基础设施的不同,会发生很多变化。例如,我只使用与 CloudFlare 或其他 AWS 完全不同的 Google Cloud Platform。

做的配置从结构上看太过条理不清。您应该这样尝试:首先,使用上游域名指令输入http上下文,并使用Apache进入服务器IP地址内部,然后通过包含proxy_params文件和片段ssl的参数来声明服务器和位置上下文。

如果你想帮助我了解我们采用的基础架构,我们可以一起了解如何进行配置,但这是迫在眉睫的,因为每个基础架构都会响应不同的配置。

同样适用于php7.0。例如,使用 php7.0 配置 PrestaShop 1.7.1.1 我不得不对 CMS 的 php.ini 代码进行大量更改,因为我没有在 FPM 中使用 CGI,但正如我所说,这是非常多样化的。

参见 https://www.webfoobar.com/node/35

关于apache - centos 7上Nginx反向代理apache,同时配置http和https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42620934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com