Nginx http://到https://不包括路径

时间:2019-01-16 06:16:48

标签: php nginx redirect certbot

我正在尝试清理我的Nginx 代理80 代理443 文件。这样做的动力是Certbot在随机位置添加了SSL代码。

  • 我正在尝试将所有与SSL相关的内容放入代理443文件中
  • 我只希望在代理80文件中保留从http://到https://的重定向。

我遇到的问题是,进行此更改时,我的所有重写规则(主页除外)都不再可用。

这是我要保留在代理80文件中的内容:

server {

    server_name example.com;
    listen *:80;

    return 301 https://$host$request_uri;

}

然后在我的代理443中,我有:

server {

    listen *:443 ssl;
    server_name example.com www.example.com;

    location / {
        proxy_pass https://1.2.3.4;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host example.com;

        proxy_redirect off;
    }

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

以某种方式丢失了URL的路径部分。有人能够弄清发生了什么吗?受影响的网站基于PHP,并且不在框架范围内进行编程。我看到的是“ 404”错误。

0 个答案:

没有答案