我知道PHP的內置Web服務器並非設計用於使用https,但我正在構建一個只能與https協同工作的API,例如,當我的測試也測試正確的行爲時不使用https輸入API。https與Symfony的內置服務器
是否有任何快速解決方法,以便我可以使用https和Symfony的內置Web服務器?
我知道PHP的內置Web服務器並非設計用於使用https,但我正在構建一個只能與https協同工作的API,例如,當我的測試也測試正確的行爲時不使用https輸入API。https與Symfony的內置服務器
是否有任何快速解決方法,以便我可以使用https和Symfony的內置Web服務器?
可以使用Pound反向代理:
WHAT磅是:
- 一個SSL包裝:鎊將解密從客戶端瀏覽器的HTTPS請求,並將它們傳遞作爲純HTTP到後端服務器。
但是,如果它作爲普通的HTTP傳遞到我的後端服務器的請求,那麼我的腳本將看到它作爲非https連接和拋出錯誤,如果我是對的? – user2394156
不,您可以在需要時爲您的應用程序設置英鎊的標題:'X-Forwarded-Proto:https'和'X-Forwarded-Port:443'。 – malcolm
可能不是你想要的,但也許值得一兩思考。
在生產環境中,您需要確保只有HTTPS有效。這意味着:通過HTTP進入的請求應該被丟棄或轉發給HTTPS或其他任何東西。你可以通過app.php(這應該是Symfony全新安裝中的默認設置)調用服務來測試。
如果上述測試成功,所有其他測試都可以安全地假設在生產中會有HTTPS。所以它們也可以用HTTP來執行,因爲它們只是測試應用程序本身的功能,而不是HTTPS的任何功能。在這種情況下使用app_dev.php就足夠了。
即,僅在您的生產設置中強制HTTPS,但不在您的開發設置中。針對非HTTP請求的正確行爲執行生產設置的測試,其餘部分針對開發設置進行測試。
非HTTPS處理是否正常工作?
http://your.local.host/app.php
該應用程序是否做得很好?
http://your.local.host/app_dev.php
使用'pound'代理。 – malcolm
你應該看看這個:http://stackoverflow.com/a/23937688/1806461 – t0mas3