Sulu generates URLs in the same way as Symfony does. If the requested protocol is https it will use automatically https to generate its URLs.

If this does not work propertly, your setup probably includes some kind of proxy, e.g. a load balancer or a HTTP cache like Varnish. In that case you should add the IP address of your trusted proxy as explained in the Symfony Proxy Documentation.

If it still doesn’t work you should debug the Symfony Request::isSecure method, which represents which protocol is used by Symfony in its Request::getScheme method.

It is also possible to force the protocol in your vhost of your websebserver:


Add the following to your apache vhost:

SetEnv HTTPS on


Add the following to your nginx vhost php-fpm param configuration:

fastcgi_param HTTPS on;