我需要通過HTTPS提供特定的CXF Web服務(我還有其他幾個人需要使用普通的HTTP)。在SecurityConfig.groovy
,我設置:Grails-cxf中通過SSL的Web服務?
httpsPort = 8443
,並試圖兩者
secureChannelDefinitionSource = '''
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/services/doodah/**=REQUIRES_SECURE_CHANNEL
/**=REQUIRES_INSECURE_CHANNEL
'''
和
channelConfig = [ secure: ['/services/productid/**'], insecure: '/' ]
該服務停止在8080響應HTTP協議,但不會出現上https:8443 - 至少,到8443的telnet連接失敗。
如果我用grails run-app -https
運行該應用程序,則所有應用程序都通過https運行。
要將http與https服務分開,我可能需要這樣做:「Automatic http/httpS switching with Grails」,但現在我想至少獲得在兩個不同端口上運行的不同服務。
我應該遵循哪些步驟有一個服務工作通過HTTPS 只?
看起來像還有別的東西SSL需要在戰爭中工作,就像在這個問題:SSL, Tomcat and Grails?
我的環境是:Grails的1.3.5一樣,Acegi安全0.5.3(我知道這是過時的),Tomcat的6
嗯,也許它不會用'grails run-app'工作。它在'tomcat'插件的'TomcatServer.groovy'中查看HTTP和HTTPS啓動模式是互斥的。不過,如果我將SSL連接器添加到'server.xml',它可能以不同的方式工作,如果部署到成熟的Tomcat。 –