Я отредактировал вопрос, чтобы упростить его
У меня есть приложение, работающее в домене, как это:
http://localhost:8092/myapp
Если я получу доступ к
http://localhost:8092/myapp/ticket/save
с браузером все идет нормально. Однако, если я делаю вызов CURL из командной строки на другой контроллер, и оттуда я пытаюсь перенаправить на контроллер «билет», метод «сохранить», как показано в приведенном выше URL-адресе, это работает только если звонок сделан с localhost. Но если я позвоню с удаленного сервера, он ничего не сделает.
Это вызов curl:
curl --location http://192.168.1.18:8092/myapp/trans/index
и метод индекса:
def index() {
print "index"
redirect(controller: "ticket", action:"save")
}
При совершении вызова с удаленного клиента Grails не выполняет перенаправление и не выдает никакой ошибки. Однако в терминале написано:
curl --location http://192.168.1.18:8092/Post-editor_Grails/traduccion/index
curl: (7) couldn't connect to host
НО вызов действительно достигает сервера, поскольку «index» печатается в консоли Grails. Итак, я полагаю, что ошибка происходит от перенаправления.
Я попытался установить absolute: true в перенаправлении, как показано здесь:
Grails редирект с обратным прокси
но это тоже не работает.
Есть идеи?
Нет, забудь этот вопрос. В Config.groovy у меня было:
grails.serverURL = «HTTP: // локальный: 8092 /$ {APPNAME}»
Просто нужно изменить localhost на 192.168 …. (для этого требуется «absolute: true», хотя)
Я не знаю, должен ли я удалить вопрос
Других решений пока нет …