Ngix出現The pline HTTP request was sent to HTTPS port問題解決方法

807 ワード

今日はNginx+SSLを配置する時に問題のような誤りが現れて、後で度娘と一回の雲雨の後で1つの解決方法を探し当てて、とても役に立ちます.
一般的に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;(以下のinx公式リンクを参照してください.https契約がある時はhttps onを自動的に使用します.そうでないとfastcgi_を無視します.param HTTPSというパラメータです.
埋め込み変数:
https,CリンクがSSLであれば「ON」に戻ります.空の文字列を返します.
if_not_empty;�Cパラメータの値があるときにサーバに転送します.
注意:この方法はNgix 1.1.11以降のバージョンにのみ適用されます.
参考:stackoverflow/nginx〓1/nginx〓2