在添加证书之前,我可以访问以下网站
http://website.com:4043/web/login
但添加证书后,我无法使用 https 访问完整 URL。
但我只能访问https://website.com
请提供任何支持。
答案1
假设您正在运行现代版本的 Ubuntu,您将需要确保您的 Apache 虚拟配置文件看起来像这样:
Listen 443
Listen 4043
<VirtualHost *:443>
ServerName website.com
SSLProxyEngine on
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:4043>
ServerName website.com
SSLProxyEngine on
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
DocumentRoot /var/www/html
</VirtualHost>
从这里,您可以设置一个简单的小.htaccess
规则,以确保流量被正确重定向到 ,4043
而不是服务器默认的443
。例如:
RewriteEngine on
# If the port isn't 4043
RewriteCond %{SERVER_PORT} !^4043$
# We redirect to the same address with the proper port
RewriteRule ^(.*)$ https://%{HTTP_HOST}:4043/$1 [R=301,L]
重要的:不要简单地复制粘贴这些内容。查看文本并根据您自己的环境进行调整,这是每个人都不知道的除了你。