У меня есть подозрение, что из-за двух объявлений схемы в URL-адресе обработчик маршрута по умолчанию выбрасывает ответ 400.
В качестве обходного пути я просто отправил бы URL без схемы (т. Е. http://). Я протестировал этот сценарий без проблем:
http://www.mydomain.com/Puzzle/ContinuePuzzle/www.domain.com/nextpuzzle
Используя этот маршрут:
routes.MapRoute("Puzzle", "Puzzle/ContinuePuzzle/{*url}", new {controller = "Puzzle", action = "ContinuePuzzle", url = ""});
Если вам нужна схема, используйте параметр строки запроса, как предложил Чарлино.