मैंने इसे स्वयं हल किया, लेकिन मैंने इतने सरल समाधान की खोज में इतनी देर बिताई, मुझे लगा कि यह यहां दस्तावेज होने के लायक है।स्प्रिंग एमवीसी "रीडायरेक्ट:" उपसर्ग हमेशा http पर रीडायरेक्ट करता है - मैं इसे https पर कैसे बना सकता हूं?
मैं एक InternalResourceViewResolver के साथ एक विशिष्ट स्प्रिंग 3 MVC सेटअप:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
मैं अपने नियंत्रक में एक बहुत सरल हैंडलर विधि है, लेकिन मैं यह और भी इस उदाहरण के लिए सरल बना दिया है:
@RequestMapping("/groups")
public String selectGroup() {
return "redirect:/";
}
समस्या यह है कि, यदि मैं https://my.domain.com/groups
पर ब्राउज़ करता हूं, तो मैं रीडायरेक्ट के बाद http://my.domain.com/
पर समाप्त होता हूं। (वास्तविकता में मेरा लोड-बैलेंसर सभी http अनुरोधों को https पर रीडायरेक्ट करता है, लेकिन यह ऐसे लोगों के लिए "आप सुरक्षित कनेक्शन छोड़ रहे हैं/प्रवेश कर रहे हैं" के प्रकार के कई ब्राउज़र अलर्ट का कारण बनते हैं।
तो सवाल यह है कि जब मूल अनुरोध का उपयोग किया जाता है तो क्या वह वसंत को https पर रीडायरेक्ट करने के लिए कैसे मिलता है?
बस का उपयोग कर "अनुप्रेषित:" के बारे में क्या। रीडायरेक्ट के बाद भी एक सापेक्ष यूआरएल का उपयोग करना चाहिए। – qkrijger