Wordpress Nginx代理,Apache上的WP。在wp-login.pphp上重定向302

Wordpress Nginx代理,Apache上的WP。在wp-login.pphp上重定向302,wordpress,apache,nginx,proxy,Wordpress,Apache,Nginx,Proxy,我正在使用nginx将流量代理到Docker容器,但在Apache上运行WordPress的容器遇到了问题 博客工作很好,我看到帖子,图片。。。但是我无法访问管理页面,因为重定向到wp-login.php会返回一个302,并且从未完成,所以在尝试了一些之后,浏览器会抛出一个关于重定向太多的错误 代理配置: server { listen 443 ssl; ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;

我正在使用nginx将流量代理到Docker容器,但在Apache上运行WordPress的容器遇到了问题

博客工作很好,我看到帖子,图片。。。但是我无法访问管理页面,因为重定向到wp-login.php会返回一个302,并且从未完成,所以在尝试了一些之后,浏览器会抛出一个关于重定向太多的错误

代理配置:

server {
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/domain.tld/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.tld/privkey.pem;

    # HSTS
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;


    location /newWeb {
        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-Host $server_name;
        proxy_cookie_path / "/; secure; HttpOnly";
    }
    location /blog {
        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-Host $server_name;
        proxy_cookie_path / "/; secure; HttpOnly";
    }
}

server {
    listen 80;
    location /.well-known {
        alias /usr/local/etc/letsencrypt-webroot/.well-known;
    }
    return 301 https://$host$request_uri;
}
请注意,我不是在寻找
try\u files
指令来防止循环,而是试图找到成功重定向到wp login.php的解决方案

更新:

这是Docker主机提供的。8080是我转发给Apache的80的端口

wget http://127.0.0.1:8080/blog/wp-login.php
--2016-10-25 11:35:34--  http://127.0.0.1:8080/blog/wp-login.php
Connecting to 127.0.0.1:8080... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://127.0.0.1:8080/blog/wp-login.php [following]
--2016-10-25 11:35:35--  https://127.0.0.1:8080/blog/wp-login.php
Connecting to 127.0.0.1:8080... connected.
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Unable to establish SSL connection.
我理解这个错误是因为Apache没有监听HTTPS,只是HTTP。这就引出了两个问题:

  • 我怎么能用Nginx和Apache卸载SSL呢?理论上,Apache不需要期望HTTPS
  • wget
    示例中,为什么会将其重定向到HTTPS?它不经过nginx,而是直接到Apache容器,VirtualHost只是一个简单的例子:

    <VirtualHost *:80>
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    
    
    DocumentRoot/var/www/html
    ErrorLog${APACHE_LOG_DIR}/error.LOG
    CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
    
    也没有
    .htaccess


    • 我在这个问题上找到了答案

      我在上缺少$\u服务器['HTTPS']='。我不知道为什么它没有在
      wp config.php
      中注释