<VirtualHost *:80>
ServerName www.website.com
Redirect / https://www.website.com/
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.website.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
ServerName www.website.com
ProxyPass /auth https://127.0.0.1:8081
ProxyPassReverse /auth https://127.0.0.1:8081
ProxyPass /api https://127.0.0.1:8082
ProxyPassReverse /api https://127.0.0.1:8082
ProxyPass / https://127.0.0.1:8084/
ProxyPassReverse / https://127.0.0.1:8084/
SSLCertificateFile /etc/letsencrypt/live/www.website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
这起作用了,当调用https://www.website.com/auth/oauth/authorizeendpoint时,我将在https://www.website.com/auth/login上重定向,并看到我的登录表单。
问题是没有加载jquery或css这样的资源,因为它试图通过URL https://www.website.com/resources/jquery.min.js(虽然应该是https://www.website.com/auth/resources/jquery.min.js)访问这些资源。
我尝试了以下解决方案:Spring-boot在Apache代理后嵌入Tomcat,因此我有Vhost:
<VirtualHost *:443>
SSLEngine on
SSLProxyEngine on
ProxyPreserveHost On
ServerName www.website.com
ProxyPass /auth https://127.0.0.1:8081
ProxyPassReverse /auth https://127.0.0.1:8081
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
ProxyPass /api https://127.0.0.1:8082
ProxyPassReverse /api https://127.0.0.1:8082
ProxyPass / https://127.0.0.1:8084/
ProxyPassReverse / https://127.0.0.1:8084/
SSLCertificateFile /etc/letsencrypt/live/www.website.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.website.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
server.use-forward-headers=true
但是,当调用https://www.website.com/auth/oauth/authorize时,我在https://www.website.com/login->/auth上被重定向,所以我得到一个404。
不确定我应该设置什么和在哪里使这起作用?
其实我找到了解决办法,如果它能帮助某人:
Vhost必须为:
ProxyPreserveHost On
...
ProxyPass /auth https://127.0.0.1:8081/auth
ProxyPassReverse /auth https://127.0.0.1:8081/auth
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443
...
和在应用程序.属性中:
server.servlet.context-path=/auth
server.use-forward-headers=true
我在谷歌上冲浪,没有找到任何具体的答案或例子,所以再次尝试我的运气在这里(经常是幸运的)。 问题所在 > 我在apache反向代理后面运行了一个spring boot RESTful服务。此RESTful服务只运行HTTP。假设它运行在本地IP172.S端口8080上。 我还配置了一个apache反向代理。假设它运行在本地IP172.a和公共IP55.a上。该代理响应两个端口80,但所有HTTP通
我想在代理之后提供Restful API,但我不知道如何将请求重定向到Spring Boot应用程序,以便可以使用域名访问它。 我的Spring Boot应用程序使用spring-boot-starter-tomcat运行,应用程序部署良好,我可以在服务器上使用java-jar myApplication.jar部署它。 该应用程序还可以通过写入远程访问https://1.2.3.4:8090在浏
我在服务器上安装了keycloak standanlone,并尝试通过Nginx在反向代理后面使用它。Keycloak绑定到127.0.0.1
主要内容:1. 简单的反向代理,2. 集群和平衡器,3. Balancer和BalancerMember配置,3. 故障转移,4. 均衡器管理器除了作为“基本”Web服务器,并为最终用户提供静态和动态内容之外,Apache httpd(以及大多数其他Web服务器)也可以充当反向代理服务器,也称为“网关” “服务器。 在这种情况下,httpd本身不生成或托管数据,而是由一个或多个后端服务器获取内容,后端服务器通常没有直接连接到外部网络。当httpd收到来自客户端的请求时,请求本身被代理到这些后端服
我是新来的Spring Security,并试图开发Spring Boot应用程序与谷歌登录使用OAuth2下运行的主机名: 8080。这个程序是背后的Apache反向代理服务器https://url.com. Spring启动版本2.1。0 Spring Security版本5.1.1 build.gradle: 应用yml: Spring Security配置: 我请求https://url.
我已经嵌入了在7000端口上运行的Jetty。另外,我有一个keycloak服务器运行在同一台机器的端口8100上。 我的所有客户端访问都通过Jetty进行,即localhost:7000。因此,我将keycloak作为Jetty上的反向代理,即localhost:7000/keycloak/auth将重定向到localhost:8100/auth。它击中正确。 现在,有KeycloakInsta