【发布时间】:2012-03-06 08:41:18
【问题描述】:
我安装了 Entrust 的 UC 多域 SSL 证书,用于两个 OpenCart 安装和一个托管在同一 IP 的公司域。
我在证书上按以下顺序有 3 个域
- www.example.com
- www.example2.com
- www.example2.ca
当我在 OpenCart 和 config.php 中激活 SSL 时,我到安全区域的链接被更改;但是,这些链接发生了奇怪的事情。
例子:
Page: www.example2.com
Link: https://www.example2.com/admin
Resulting Page: https://www.example.com/admin
OR https://www.example2.com/admin (but code from https://www.example.com/admin)
OR if https://https://www.example.com/admin doesn't exist I get a 404 page
www.example.com/.htaccess
Options +FollowSymLinks
Options -Indexes
www.example2.com/.htaccess
Options +FollowSymLinks
Options -Indexes
www.example2.com/php.ini
magic_quotes_gpc = Off;
register_globals = Off;
default_charset = UTF-8;
memory_limit = 64M;
max_execution_time = 18000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 20;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;
allow_url_fopen = on;
www.example2.com/config.php
<?php
// HTTP
define('HTTP_SERVER', 'http://www.example2.com/');
define('HTTP_IMAGE', 'http://www.example2.com/image/');
define('HTTP_ADMIN', 'http://www.example2.com/admin/');
// HTTPS
define('HTTPS_SERVER', 'https://www.example2.com/');
define('HTTPS_IMAGE', 'https://www.example2.com/image/');
// DIR
define('DIR_APPLICATION', '/home/user/example2.com/catalog/');
define('DIR_SYSTEM', '/home/user/example2.com/system/');
define('DIR_DATABASE', '/home/user/example2.com/system/database/');
define('DIR_LANGUAGE', '/home/user/example2.com/catalog/language/');
define('DIR_TEMPLATE', '/home/user/example2.com/catalog/view/theme/');
define('DIR_CONFIG', '/home/user/example2.com/system/config/');
define('DIR_IMAGE', '/home/user/example2.com/image/');
define('DIR_CACHE', '/home/user/example2.com/system/cache/');
define('DIR_DOWNLOAD', '/home/user/example2.com/download/');
define('DIR_LOGS', '/home/user/example2.com/system/logs/');
// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'database');
define('DB_PREFIX', '');
?>
www.example2.com/admin/config.php
<?php
// HTTP
define('HTTP_SERVER', 'http://www.example2.com/admin/');
define('HTTP_CATALOG', 'http://www.example2.com/');
define('HTTP_IMAGE', 'http://www.example2.com/image/');
// HTTPS
define('HTTPS_SERVER', 'https://www.example2.com/admin/');
define('HTTPS_IMAGE', 'https://www.example2.com/image/');
// DIR
define('DIR_APPLICATION', '/home/user/example2.com/admin/');
define('DIR_SYSTEM', '/home/user/example2.com/system/');
define('DIR_DATABASE', '/home/user/example2.com/system/database/');
define('DIR_LANGUAGE', '/home/user/example2.com/admin/language/');
define('DIR_TEMPLATE', '/home/user/example2.com/admin/view/template/');
define('DIR_CONFIG', '/home/user/example2.com/system/config/');
define('DIR_IMAGE', '/home/user/example2.com/image/');
define('DIR_CACHE', '/home/user/example2.com/system/cache/');
define('DIR_DOWNLOAD', '/home/user/example2.com/download/');
define('DIR_LOGS', '/home/user/example2.com/system/logs/');
define('DIR_CATALOG', '/home/user/example2.com/catalog/');
// DB
define('DB_DRIVER', 'mysql');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_DATABASE', 'database');
define('DB_PREFIX', '');
?>
阿帕奇:2.2.17
任何帮助都会很棒。
泰勒
【问题讨论】:
-
对于 SO 来说相当偏离主题(对于 ServerFault 来说更多,您可以标记它并要求版主将其移动)。最好看看你是如何配置你的
VirtualHosts的。 -
是的,我不是房东,很遗憾他们也搞不清楚……我会要求搬家,看看会发生什么
-
所以在我的主机和开发人员的一些解释之后,我搁浅了......显然,UC SSL 只保护原始域(www.example.com)并且所有安全流量都直接在那里...... . 现在我将尝试将这两个站点改写为 www.example.com/example2.com 和 www.example.com/example2.ca 以保持 SSL 快乐
-
原则上,您可以在共享相同 IP 地址但具有不同
ServerName条目(每个主机名一个)的多个虚拟主机上配置相同的证书。您的主机需要在其 Apache 配置中进行配置。