.htaccess 使用共享 ssl 证书

Posted

技术标签:

【中文标题】.htaccess 使用共享 ssl 证书【英文标题】:.htaccess to use shared ssl certificate 【发布时间】:2016-11-12 16:15:42 【问题描述】:

我已按照我的主机的建议编写 .htaccess 以将访问者重定向到我的站点到具有安全证书的域。不过,我希望让我的访问者看到原始 URL。

考虑:

example.com 是我的共享主机上 mydomain 文件夹中的子域。用户名=用户

他们推荐的 .htaccess 代码:

#RewriteEngine On 
#RewriteCond %SERVER_PORT 80 
#RewriteCond %REQUEST_URI folder 
#RewriteRule ^(.*)$ https://secure100.inmotionhosting.com/~user/mydomain/$1 [R,L]

这很好用 - 如果我去: http://example.com/about-us

我获得了安全域: https://secure100.inmotionhosting.com/~user/mydomain/about-us

但是,我希望我的访问者看到: https://example.com/about-us

这可能吗。我读到使用 [p] 应该显示原始域:

#RewriteEngine On 
#RewriteCond %SERVER_PORT 80 
#RewriteCond %REQUEST_URI folder 
#RewriteRule ^(.*)$ https://secure100.inmotionhosting.com/~user/mydomain/$1 [P]

但这会导致 500 错误。

我曾考虑只使用 .htaccess 来提供安全登录和注册页面,但这会将我的用户名暴露给公众,这似乎是在用一个安全问题换另一个安全问题。专用 IP 是唯一的方法吗?

【问题讨论】:

你的服务器上可能没有启用mod-proxy。 如果没有您域的 SSL 证书,您将无法做到这一点。 为此,您可以使用免费的外部 DNS 服务器/云,例如 cloudflare.com 或其他提供 SSL 的网站。 我会询问 mod-proxy。如果我购买 SSL 证书,这会起作用吗? 【参考方案1】:

事实证明,将 ssl 添加到共享主机帐户是很常见的。可能有一种方法可以按照我的方向进行,但是向托管公司付费以添加它要容易得多。我将其包括为不一定是对 .htaccess 问题的回答,而是作为可能发现自己在同一个地方的其他人的替代路径。

【讨论】:

以上是关于.htaccess 使用共享 ssl 证书的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 使用 SSL/HTTPS 将 www 重定向到非 www

.htaccess url 重写用于 ssl https 重定向

将 https ip 重定向到共享主机中 htaccess 中的域

nginx https配置多域名共享SSL证书禁止ip访问http强转https

nginx https配置多域名共享SSL证书禁止ip访问http强转https

nginx https配置多域名共享SSL证书禁止ip访问http强转https