Nginx出現The plain HTTP request was sent to HTTPS port問題解決方案_nginx

來源:互聯網
上載者:User

今天在配置Nginx+SSL的時候出現如題的錯誤,後來與度娘一番雲雨之後找到一個解決方案,挺有用,隨手轉之。

一般在vhost的配置中會有php解析的一段,如:

複製代碼 代碼如下:

location ~ .*\.(php|php5)?$
{
 try_files $uri =404;
 fastcgi_pass unix:/tmp/php-cgi.sock;
 fastcgi_param HTTPS $https if_not_empty;
 fastcgi_index index.php;
 include fcgi.conf;
}

解釋:

很多人認為使用 fastcgi_param HTTPS on;

這樣是沒錯,不過強迫使用這個參數,不太有效!

最好的答案就是 fastcgi_param HTTPS $https if_not_empty; (參考下面 nginx 官方的連結),有 https 協議時才自動使用 https on,否則忽略 fastcgi_param HTTPS 這個參數。

內嵌的變數:

$https – 如果連結是 SSL 就返回 “ON”,否則返回Null 字元串。

if_not_empty; – 當參數有值時才傳遞到伺服器

注意:這個方法只適合 Nginx 1.1.11 之後的版本

參考:
stackoverflow/nginx#1/nginx#2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.