Java 我怎么能告诉Wicket它';通过Apache通过SSL终止访问,以便在加载脚本时避免混合内容错误?
我的wicket应用程序正在Apache代理配置后面运行,带有SSL终止Java 我怎么能告诉Wicket它';通过Apache通过SSL终止访问,以便在加载脚本时避免混合内容错误?,java,apache,tomcat,mod-proxy,wicket-6,Java,Apache,Tomcat,Mod Proxy,Wicket 6,我的wicket应用程序正在Apache代理配置后面运行,带有SSL终止 <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName my-domain-name ProxyRequests Off ProxyPreserveHost On ProxyPass / http://localhost:49161/ ProxyPassReverse / http://localhost:49161
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName my-domain-name
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:49161/
ProxyPassReverse / http://localhost:49161/
SSLCertificateFile /etc/letsencrypt/live/my-domain-name/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/my-domain-name/privkey.pem
RequestHeader set X-Forwarded-Proto https
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
我假设它在那里使用http,因为它认为页面是通过http服务的。这就是我在虚拟主机配置中添加X-Forwarded-Proto部分的原因,但这似乎没有起到作用
我还试图告诉tomcat,https方案是通过更新server.xml中的HTTP连接器来使用的
<Connector port="8080" protocol="HTTP/1.1" scheme="https" secure="true" SSLEnabled="false"
connectionTimeout="20000"
redirectPort="8443" />
我可以在Wicket应用层做些什么来告诉它应用程序实际上是通过https而不是http提供的
谢谢大家!
Kristof.对于WicketStuff GMap3模块,您可以提供您喜欢的方案作为构造函数参数:
否则,您可以使用
X-Forwarded-Proto
请求头来决定应用程序是否在代理之后。您好,martin-g,谢谢您的建议。我会试试GMap3模块。。。虽然我遇到的问题超出了GMap,但我也遇到了在前端使用脚本的其他插件的问题。像X-Forwarded-Proto这样的通用解决方案会很好,但正如问题中提到的那样,这是行不通的。问题是,Apache是否正确设置了头,tomcat是否传递了头,或者Wicket是否忽略了头?
<Connector port="8080" protocol="HTTP/1.1" scheme="https" secure="true" SSLEnabled="false"
connectionTimeout="20000"
redirectPort="8443" />