我讀過到處是Laravel可以當用戶通過HTTPS瀏覽並使用相應地產生途徑檢測,但是這似乎是不真實的。Laravel 5.3 HTTPS路由
我使用的配置在AppServiceProvider
強制所有生成的URL添加前綴爲HTTPS但這只是掩蓋了一個根本問題。
我有Laravel坐在一個EC2實例。沒有負載均衡器,我沒有配置代理。這純粹是一個開發實例。
我怎樣才能獲得由route
助手生成使用HTTPS網址嗎?
我讀過到處是Laravel可以當用戶通過HTTPS瀏覽並使用相應地產生途徑檢測,但是這似乎是不真實的。Laravel 5.3 HTTPS路由
我使用的配置在AppServiceProvider
強制所有生成的URL添加前綴爲HTTPS但這只是掩蓋了一個根本問題。
我有Laravel坐在一個EC2實例。沒有負載均衡器,我沒有配置代理。這純粹是一個開發實例。
我怎樣才能獲得由route
助手生成使用HTTPS網址嗎?
如果用戶是HTTPS頁面上,Laravel的route()
助手將產生HTTPS URL。由於谷歌瀏覽器已將HTTP網站標記爲不安全,因此最好將所有HTTP請求重寫爲HTTPS。有很多方法可以做到這一點,但據我所知最好的辦法是設置您的Web服務器來完成這項工作。
樣品VH的Apache:
<VirtualHost my.app:80>
ServerName my.app
Redirect permanent/https://my.app
</VirtualHost>
<VirtualHost my.app:443>
DocumentRoot /home/my/public
ServerName my.app
ServerAlias my.app
ServerAlias *.my.app
SSLEngine on
SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateKeyFile conf/ssl.key/server.key
<Directory /home/my/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
'如果你HTTPS頁面上,Laravel的路線()助手將產生HTTPS url.'這就是問題所在 - 這不,在所有。而且我的虛擬主機已經配置爲支持HTTPS。 –
這似乎是web服務器配置文件有問題。上面的配置來自一個相當大的項目,它的工作完美,請嘗試。它將所有HTTP請求重寫爲HTTPS,因此您將永遠無法加載HTTP頁面。 –
它看起來像我沒有打開SSLEngine。現在路線似乎很好。 –
據我所知,生成的URL應該是相對的,不是絕對的,所以也就無法在其上的協議。 – aynber
它們是作爲絕對URL生成的。 –