2014-10-07 60 views
0

環境:nginx的SSL不工作 - 404未找到文件

Linux服務器 - Ubuntu的 Web服務器 - nginx的 腳本 - PHP5,FastCGI的 端口 - 默認 - 80/443 的PHP框架 - 笨

我有一個使用codeigniter製作的網站,並且在http下工作得非常好,我已經設置了一個ssl證書,並且我無法獲得後續頁面的工作,主頁在https中正常工作。

FYI:該網站與URL重寫發,我不知道Nginx的或FPM或笨是否處理重寫,但我們工作的網址爲http://domain.com/contact

在Nginx的日誌文件,我看到了一個404未找到頁面錯誤。如果我在home文件夾下創建一個目錄作爲測試並創建一個文件爲hello.php,我可以通過HTTPS和HTTP查看它,但是其他鏈接無法正常工作。

我確信 -

  1. 我指向正確的文件夾中的HTTP,HTTPS
  2. 關鍵文件不具有我所包含鏈/根證書
  3. 密碼
  4. 我沒有防火牆/代理/緩存服務器之間

我不知道nginx/codeigniter/php-fpm中的哪一個處理url重寫,我相信這個錯誤是由於url_rewrite不能在https/ssl模式下工作的。

請幫忙

回答

0

你應該發佈完整的nginx conf文件。否則,很難說出發生了什麼事情。

如果url重寫是通過http重定向的,而您希望將您的站點移動到https,那麼您應該執行永久移動的HTTP 301。

server { 
    listen   80; 
    return 301 https://$host$request_uri; 
}