我有一个简单的nginxconfiguration作为代理来处理ssl请求。 问题是当我在https://files.mysite.com/phpmyadmin上loginphpmyadmin时,它在http://files.mysite.com:443上redirect我,并抛出:
400 Bad request: The plain HTTP request was sent to HTTPS port
我在这里和超级用户环顾四周,找不到任何适合这个问题的东西下面是nginx的configuration文件:
server { listen 0.0.0.0:80; server_name files.mysite.com; return 301 https://files.mysite.com$request_uri; } server { listen 0.0.0.0:443 ssl; server_name files.mysite.com; ssl on; ssl_certificate /etc/letsencrypt/live/files.mysite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/files.mysite.com/privkey.pem; root /home/mysite/mysite.com/files; index index.html; location ^~ /phpmyadmin { root /usr/share/; index index.php; include conf-available/php5.conf; } }
我使用各种networking工具在所有子域上几乎相同的configuration,没有问题,所以我真的很困惑!
感谢您的帮助!
编辑:我已经被要求显示 wget -S files.mysite.com的输出,所以在这里而且,实际上,它很好地从http:80redirect到https:443,但由于某种原因切换回http:443
编辑2:实际上它不redirect到http:443当wget -S ,这只有当我成功地login到phpmyadmin