Tôi có một ứng dụng Grails sử dụng Spring Security Core chạy trên một máy AWS phía sau bộ cân bằng tải.Grails Spring Security chuyển hướng đến trang đăng nhập bằng cách sử dụng https
Bộ cân bằng tải giải mã các kết nối ssl và chuyển tiếp đến cổng 8080 của cá thể của chúng tôi, thêm các tiêu đề X-Forwarded-Proto thích hợp.
Tôi muốn có quyền truy cập trực tiếp vào trang được bảo mật để chuyển hướng đến trang đăng nhập bằng https.
Ví dụ một yêu cầu https://myapp.com/private/page nên chuyển hướng đến https://myapp.com/login/auth
tôi đặt này trong config.groovy tôi:
grails.plugin.springsecurity.secureChannel.definition = [
'/login/**': 'REQUIRES_SECURE_CHANNEL'
]
nhưng điều này gây ra một vòng lặp chuyển hướng (mã HTTP 302) vào trang http đăng nhập (http://myapp.com/login/auth)
Sau đó, tôi cố gắng chỉ với:
grails.plugin.springsecurity.secureChannel.useHeaderCheckChannelSecurity = true
grails.plugin.springsecurity.auth.forceHttps = true
nhưng điều này gây ra một chuyển hướng (HTTP mã 302) vào trang http đăng nhập (http://myapp.com/login/auth)
- Vấn đề này được presentig chỉ với các thiết lập sản xuất (chiến tranh được triển khai để Tomcat đằng sau những cân bằng tải).
- Nếu tôi kiểm tra cùng một config.groovy trên máy dev loacal của tôi, chuyển hướng đến https://myapp.com/login/auth xảy ra tốt.
- tôi đã cố gắng để xác định một httpsPort khác nhau cho an ninh mùa xuân, một lần nữa nó hoạt động trên máy dev địa phương của tôi, nhưng nó hoàn toàn bị bỏ qua trong ứng dụng được triển khai mà giữ chuyển hướng đến http
Không may mắn rình rập ở bài viết tương tự, bất kỳ ý kiến?
Cảm ơn rất nhiều sự giúp đỡ của bạn nhưng không may mắn! Tôi sao chép các thiết lập tương tự, cũng di chuyển cổng nội bộ đến 80 nhưng nó luôn luôn chuyển hướng đến http ... Bạn có bất cứ điều gì trong grails.plugin.springsecurity.secureChannel.definition? Bất kỳ ý tưởng về làm thế nào tôi có thể ít nhất là gỡ lỗi nó? – Paull
Tôi không có giá trị được đặt cho secureChannel.definition. Bạn có tập hợp grails.serverURL cho môi trường sản xuất của mình không? Đó là cái gì đó khác đã phá vỡ ứng dụng của tôi, nhưng tôi nghĩ rằng đó là liên quan đến việc thiết lập cloudfront. Tôi đã không gỡ lỗi nó bằng nhật ký. Tôi sẽ thực hiện một thay đổi trong tập tin cấu hình và tải lên một cuộc chiến tranh mới, sau đó bước qua từng kịch bản bằng cách sử dụng một trình duyệt để xem những gì đã phá vỡ. Sau đó, tôi sẽ thực hiện một thay đổi và thử lại. – spock99
Bạn đang sử dụng phiên bản bảo mật mùa xuân nào? – spock99