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

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

我成功地为http配置了两个,但是在安装后可以为Apache加密证书,我看到Apache直接接收https的流量。 我试图让nginx接收所有HTTP和HTTPS的流量,但面临问题,

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

nginx配置如下:

服务器{听80; 听[::]:80 default_server; #服务器名称 _; server_name www.example.com;

    root         /usr/share/nginx/html;

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

位置 / {

proxy_pass http://my.server.ip.add:8080; root / usr / share / nginx / html; proxy_redirect关闭; 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服务的,在RESPONSE中我可以看到“nginx / 1.10.2”

我实际上要实现的是:我试图使用nginx运行node.js和apache。 我还没有开始节点。

我的问题:

  • 前端使用nginx,后端使用apache是​​否真的有用? (我读过它可以防止dDos攻击)。
  • 我们应该在哪里把证书放在nginx或apache上?
  • 如何在nginx配置中添加node.js? 我已经安装了节点js。
  • 什么是使用nginx和apache的最佳配置?

  • 晚上好,首先您在基础设施层面所做的所有考虑都非常好,而且我认为尽管当前实施困难,代理配置是最好的。

    我一直在使用它一段时间,好处是巨大的。 不过,我想问问你使用的是哪种类型的云基础设施,因为有很多事情因技术基础设施而变化。 例如,我只使用与CloudFlare或其他AWS完全不同的Google Cloud Platform。

    从结构的角度来看,所做的配置过于明确并且不清楚。 您应该尝试这种方式:首先,使用上游域名指令输入http上下文并使用Apache输入服务器IP地址,然后通过包含proxy_params文件和snippet ssl的参数来声明服务器和位置上下文。

    如果您想要并帮助我了解我们采用的基础架构,我们可以看到如何进行配置,但即将到来,因为每个基础架构都会响应不同的配置。

    它也适用于php7.0。 例如,使用php7.0配置PrestaShop 1.7.1.1我必须对CMS的php.ini代码进行很多更改,因为我没有在FPM中使用CGI,但是,正如我所说的,这是非常多变的。

    请参阅https://www.webfoobar.com/node/35

    链接地址: http://www.djcxy.com/p/32549.html

    上一篇: Nginx reverse proxy apache on centos 7, configuring both http and https

    下一篇: Wordpress constant redirect with nginx upstream