0
我有一個需要https或某些頁面的應用程序。SSL終止ElasticBeanstalk Symfony
我正在嘗試使用ElasticBeanstalk(EB)部署Symfony應用程序。 EB具有此功能,它將每個請求http或https請求作爲http傳遞給EC2實例,並使用HTTP_X_FORWARDED_PORT和HTTP_X_FORWARDED_PROTO讓EC2實例知道原始請求協議是什麼。根據Symfony文檔,我可以做這樣的事情。
Request::setTrustedProxies(['127.0.0.1', $request->server->get('REMOTE_ADDR')]);
Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'HTTP_X_FORWARDED_FOR');
Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'HTTP_HOST');
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'HTTP_X_FORWARDED_PORT');
Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'HTTP_X_FORWARDED_PROTO');
和在控制器中我已經定義了這樣的方案。
/**
*
* @Route("/products", schemes = { "https" })
*/
class ProductsController extends Controller
{
/**
* @Route("/{id}", name="show_product", schemes = { "https" })
* @Method("GET")
*
* @return Response A HTTP response
*/
public function index($id, Request $request)
但它導致從https - > http - > https的永無止境的循環。有什麼辦法可以解決這個問題嗎?