内容简介:我也有同样的问题.我解决它的唯一方法是在不同的侦听端口上放置需要安全连接的不同域,因为我受限于IP地址.根据我的理解,问题是在https协议中HOST不包含在请求中.因此,当请求到达服务器时,apache只使用接收连接的IP和端口上的第一个匹配,因为它不知道请求的域.解决此问题的唯一方法是为每个域或不同的端口使用不同的IP.
我想要实现的目标如下:
我希望有许多子域名,例如abc.domain.com重定向到网址,例如www.domain.com/something?subdomain=abc
由于我重定向到完全限定的域,我需要使用反向代理来避免在浏览器中更改URL. (使用[P] Flag并打开mod_proxy模块和其他一些模块)
这是我的DNS设置
*.domain.com. 14400 A 111.111.11.1
这是我对apache的虚拟主机配置
<VirtualHost 111.111.11.1:80> ServerName www.domain.com ServerAlias *.lionite.com DocumentRoot /var/www/html ErrorLog /var/www/logs UseCanonicalName off RewriteEngine on RewriteCond %{REQUEST_URI} !^/images RewriteCond %{HTTP_HOST} !^www\.domain\.com$ RewriteRule ^(.+) %{HTTP_HOST}$1 [C] RewriteRule ^([^.]+)\.domain\.com(.*) http://www.domain.com/something?subdomain=$1 [P,L]
这个设置工作正常(如果你认为你可以改进它,请告诉我).
我的主要问题是当我尝试设置https://
这是我对apache的虚拟主机配置
<VirtualHost 111.111.11.1:443> ServerName www.domain.com:443 ServerAlias *.domain.com DocumentRoot /var/www/html SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLCertificateFile /etc/httpd/conf.d/cert/server.crt SSLCertificateKeyFile /etc/httpd/conf.d/cert/server.key <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" RewriteEngine on RewriteCond %{REQUEST_URI} !^/images RewriteCond %{HTTPS_HOST} !^www\.domain\.com$ RewriteRule ^(.+) %{HTTPS_HOST}$1 [C] RewriteRule ^([^.]+)\.domain\.com(.*) https://www.domain.com/something?subdomain=$1 [P,L] </VirtualHost>
每当我拨打 https://abc.domain.com 时 – 我得到的回复是主页,但无论我追加到子域的末尾,我都会得到相同的响应.这就像重写没有很好的反应.
任何帮助将不胜感激,或者您可以分享如何设置反向代理,重写,通配符子域和SSL一起
谢谢,
我也有同样的问题.我解决它的唯一方法是在不同的侦听端口上放置需要安全连接的不同域,因为我受限于IP地址.
根据我的理解,问题是在https协议中HOST不包含在请求中.因此,当请求到达服务器时,apache只使用接收连接的IP和端口上的第一个匹配,因为它不知道请求的域.
解决此问题的唯一方法是为每个域或不同的端口使用不同的IP.
不幸的是,你使用带有通配符域设置的https运气不好,我不相信无论如何都要让它工作.
翻译自:https://stackoverflow.com/questions/1187289/setting-up-wildcard-subdomain-with-reverse-proxy-on-apache-2-2-3
以上所述就是小编给大家介绍的《mod-rewrite – 在apache 2.2.3上设置通配符子域(带反向代理)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- PowerShell转义通配符
- LeetCode44.通配符匹配 JavaScript
- Wildpwn:Unix通配符攻击工具
- Java 泛型之上界下界通配符
- 004-零失败快速搞定通配符SSL证书
- PHP源码调试之Windows文件通配符分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。