我正在開發一些php腳本,如果我通過http訪問它就能正常工作。但是,雖然我嘗試通過https前綴服務器訪問它返回404錯誤。我在這裏做錯了什麼?404當使用https與php腳本時出錯
回答
根據網絡服務器,error_log
(nginx/apache/apache2)指令以及錯誤記錄位置,將幫助您瞭解問題發生的位置。 404表示該文件不存在或權限未正確設置,以便Web服務器爲其提供服務。由於HTTPS只發生在HTTPS上,因此建議使用hackre,您的HTTPS服務器可能不會使用與HTTP相同的文檔根目錄。
發佈關於Web服務器的類型,有什麼,如果有的話,顯示了在錯誤日誌信息,幫助大家在stackoverflow.com更好地瞭解您的問題,並提出一個合適的答案。
基於名稱的虛擬主機將無法使用HTTPS正常運行。你可以有HTTPS 1個IP地址1個虛擬主機:http://wiki.apache.org/httpd/NameBasedSSLVHosts
作爲一項規則,是不可能的主機上的相同的IP地址和端口多個SSL虛擬主機。這是因爲Apache需要知道主機的名稱才能選擇正確的證書來設置加密層。但是被請求主機的名稱只包含在HTTP請求標頭中,這些標頭是加密內容的一部分。因此,在加密已經協商之後才能使用。這意味着無法選擇正確的證書,並且客戶端將收到證書不匹配警告,並容易受到中間人攻擊。
實際上,Apache將允許您配置基於名稱的SSL虛擬主機,但它將始終使用第一個列出的虛擬主機(在選定的IP地址和端口上)的配置來設置加密層。在某些特定情況下,對多個虛擬主機使用單個SSL配置是可以接受的。特別是,如果SSL證書適用於所有虛擬主機,這將起作用。
正如我的回答所述,您不能使用不同的證書設置基於名稱的ssl主機,這是不正確的。 Apache2支持NI,這使得這成爲可能......如果你不支持IE <7,FF1和其他過時的瀏覽器。 –
我聯繫了我的主機提供商,並詢問了有關線程中提到的問題。他向我提供的信息表明服務器缺少支持https連接的配置。它已被修復。謝謝你的幫助 –
請檢查並仔細檢查您的服務器配置 - 尤其是DocumentRoots。
可以在使用SNI(服務器名稱指示 - 相對新的TLS擴展名)的NameBasedVirtualHosting上使用SSL。
SNI由大多數主要服務器和幾乎所有客戶端支持。
Apache2自2.2.12版本開始支持它,帶有backport補丁的Apache,nginx,lighthttpd和cherokee都支持它。
請參閱:http://de.wikipedia.org/wiki/Server_Name_Indication幾更多信息
- 1. 當使用https時,角度js路徑返回404錯誤
- 2. 當404上https://
- 3. 404錯誤在https版本
- 4. PHP登錄腳本404錯誤
- 5. 錯誤404當我使用ActiveResource與Redmine
- 6. PHP腳本使用的fopen拋出404未找到
- 7. 當腳本使用PHP變量時導出javascript
- 8. 從php執行python腳本時出錯
- 9. 當遇到錯誤時,懦弱的PHP腳本就會退出
- 10. Magento https給出404
- 11. 使用JavaCode執行腳本時出錯
- 12. 使用sh腳本時出錯
- 13. 使用腳本管理器時出錯
- 14. 在使用SED時Shell腳本出錯
- 15. PHP腳本404完成後
- 16. 在Grails中使用腳手架時出現404錯誤
- 17. https給404錯誤
- 18. 使用crontab執行PHP腳本時出現錯誤
- 19. 使用sudo bash腳本和php安裝Nginx配置時出錯
- 20. PHP郵件腳本出錯
- 21. PHP MySQL腳本出錯了
- 22. 與php使用會話時出錯
- 23. 使用與Angular.js路由時404錯誤
- 24. 當從本地主機訪問時出現404錯誤:NGINX uWSGI
- 25. 401使用Jsoup連接HTTPS時出錯?
- 26. 使用mysql和php時出錯使用mysql和php時出錯
- 27. 當腳本運行時間超過120秒時,頁面超時,404錯誤
- 28. 當使用交互時,期望腳本只給出輸出
- 29. 生成腳本時出錯
- 30. 注入腳本時出錯
你可以打開網址瀏覽器? – powtac
將您的HTTPS服務器配置爲使用與HTTP服務器相同的webroot。 – hakre
您必須提供更多詳細信息以便我們幫助您 –