首页 > 解决方案 > Apache反向代理https到http?SSL证书是强制性的吗

问题描述

嗨,我一直在努力设置我的网络服务器。我们的公司域https://www.company.com已经带有 https,我们无法获得 SSL 证书。我想利用这个域并通过添加 https//www.company.com/myapp 这个 myapp 并将这个 url 映射到部署的 http 应用程序来部署我的应用程序 (http)。

我正在使用下面显示的配置供您参考。我有一个疑问,只有当我们获得 SSL 时,我们才会进步,或者他们是以某种方式将此域映射到我在端口 8000 上运行的应用程序。

<VirtualHost *:443>
ServerName company.com
ServerAlias www.company.com

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /myapp http://localhost:8000/
ProxyPassReverse /myapp http://localhost:8000/

RewriteEngine On
RewriteCond %{ENV:HTTPS} on
RewriteRule /(.*) http://localhost:8000/$1 [R=301,L]
</VirtualHost>

标签: apacheserverconfigreverse-proxy

解决方案


如果要使用 HTTP,请使用端口 80 而不是 443。您也可以分别使用 HTTP 和 HTTPS 连接。

<VirtualHost *:80>
ServerName company.com
ServerAlias www.company.com

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /myapp http://localhost:8000/
ProxyPassReverse /myapp http://localhost:8000/

RewriteEngine On
..................
 As per server requirements
..................

</VirtualHost>

<VirtualHost *:443>
ServerName company.com
ServerAlias www.company.com

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /myapp http://localhost:8000/
ProxyPassReverse /myapp http://localhost:8000/

RewriteEngine On
RewriteCond %{ENV:HTTPS} on
RewriteRule /(.*) http://localhost:8000/$1 [R=301,L]
</VirtualHost>

推荐阅读