最近我更新了我的网站:CMS(Drupal),它是OS(Ubuntu 14.04)和Apache(2.4.7)。 情况是,当在https://example.com/上冲浪时,任何PHP都无法检测到HTTPS。 $_SERVER['HTTPS']是空的, $_SERVER['SERVER_PORT']返回80.而这会导致一个问题,因为Drupal无法检测到HTTPS并提供HTTP文件(混合内容)。 唯一显示连接在HTTPS上的variables是HTTP_X_FORWARDED_PROTO,而Drupal不处理这个服务内容的设置。 <<<我没有反向代理或LAMP和Drupal以外的任何高级configuration,只有一个站点。 >>> 错了,我正在用CloudFlare运行我的网站。 考虑到我不想要Drupal解决scheme,我已经pipe理好了。 我想知道为什么Apache没有发送正确的SERVERvariables的PHP或者什么可能是我的configuration错误。 谢谢你的帮助。 <<<最终编辑>>> PD:我通过一个反向代理CloudFlare运行我的网站。 一旦你安装,很容易忘记。 检查我的答案,看看你必须设置的选项,以获得预期的SERVERvariables。
我目前有我们的Magento网站redirecthttp到https。 基本上只能通过https访问网站,包括www。 我认为这是工作,但是,它目前显示为302redirect,我想把它做成301.有人可以让我知道如何得到这个工作? 我使用.htaccess尝试了一些不同的东西,但没有运气。 事实上,当301redirect在我们现有的redirect工程的.htaccess文件中,而是直接进入主页时,这是我的主要问题。 # Redirect all "not correct" domain to www with https # (is not important if comes with or without https): RewriteCond %{HTTP_HOST} !^www.gloveclub.co.uk$ [NC] RewriteRule ^(.*)$ https://www.gloveclub.co.uk/$1 [L,R=301] # Redirect all non-ssl to ssl. RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://www.gloveclub.co.uk/$1 [R,L] 我原来的.htaccess文件内容如下; ############################################ ## uncomment these lines for CGI mode […]
我有一个networking服务器,其域名是foo.com,如果我在https://foo.com访问该网站,我将收到来自Chomre浏览器的警告。 NET::ERR_CERT_COMMON_NAME_INVALID 我search了networking,发现这个链接说域名应该遵循证书上指定的CN。 我检查了我的证书CN实际上是www.foo.com,所以当我使用https://www.foo.com访问网站时,我没有显示警告信息。 但是,我不能build议用户或将要访问这个网站的客户inputhttps://www.foo.com,这样他们就不会收到警告信息。 您是否build议解决scheme,以便访问此网站的用户不会被抛出警告信息? 我是否需要为此获得另一个证书,或者只需要configuration一个内部configuration即可。 我正在运行.net应用程序和它使用IIS 7.5。
我已经成功地在Linux上通过RSA密钥交换成功实现了无密码login。 我希望做的是为我的HTTPS RESTful Web服务实现类似的身份validation,但是我不知道从哪里开始,也不知道如何在正确的方向上search问题。
现在我不得不部署几个Web应用程序,比如Jenkins或者jupyter 。 这些应用程序必须通过HTTPS提供。 我想知道是否最好在每个应用程序(侦听端口,SSL证书等)上configurationHTTPS,或者运行默认configuration,并使用像nginx这样的反向代理来强制HTTPS。 我觉得第二个解决scheme更实用,但是从安全的angular度来看,我可能错过了一些东西。
我目前有一个浮动IP指向一个服务器托pipe的网站,一些与SSL,其他没有。 我需要closures,备份和调整服务器的大小,并希望在一个小的VPS实例上设置一个简单的保存页面 – 交换浮动IP,捕获所有stream量并redirect。 我有这个运行使用“servername _”作为通配符捕获所有域名,但是(尽pipe端口被打开) – 我无法访问该网站的HTTPS地址 – 当我添加一个基于计划的redirect(指挥HTTP) – 这似乎没有任何影响? 任何帮助非常感谢。 我想这可能是一个相对简单的nginx服务器块。
我得到了以下文件: priv.key //这是我的私钥,包含一个—– BEGINencryption私钥—–部分 req.csr //这是我的证书请求文件 cert.pem //这是我通过邮件收到的证书,包含一个—– BEGIN CERTIFICATE —–部分 cacert_sha1.crt //这是我认为的根CA. chain.txt / /不知道什么,但必须根据一些教程有用:) 我尝试了很多东西,并以许多不同的方式将这些文件合并到新的.pem文件中。 但是,当我浏览网站时,我总是从浏览器中得到一个没有签名的错误 改变我的configuration后,我总是重新启动nginx。 有谁知道如何以正确的顺序/方式结合? 这是我需要的所有文件吗? 谢谢 :)
我已经在我的服务器上安装了SSL证书,并且已经制作了HTTPS 。 但是我需要加载embedded内容的现有iframe,通常是使用HTTP url保存的YouTubevideo,以及其他通过HTTPS不可用的内容。 upgrade-insecure-requests不是一个合适的解决scheme,因为如果无法通过HTTPS检索被动内容,而不定义Content-Security-Policy则被动内容不会被浏览器阻止。 为了使浏览器不阻止活动内容,我必须定义哪个策略?
我已经研究了一段时间,但其他人询问的用例与我试图实现的更复杂/不同。 我有Nginx为站点提供端口80和443的页面,例如example1.com。 它工作正常服务http和https。 我现在在运行Apache的内部networking上有第二台服务器。 这是另一个名为example2.com的网站。 我有一个单一的wan ip地址,两个站点的Alogging指向它。 我的路由器将端口80和443转发到nginx服务器。 我想如果Nginx可以检查example1.com或example2.com的请求,并且像现在一样发送example1.com到自己,但是只是将example2.com的所有stream量传递给Apache服务器。 由于我已经在example2.com Apache服务器上正确设置了所有ssl证书,我希望Nginx能够透明地将所有内容传递给Apache。 我想我需要代理通行证。 我是否还需要在Nginx上设置相同的证书,或者是否可以透明地将所有内容传递到Apache服务器,就像我已经将端口443直接转发到Apache服务器一样? build议的configuration将不胜感激。
CloudFlare 关于debugging,testing和使用HTTP / 2的工具的博客文章提到了这种方法来找出给定服务器支持哪些协议: $ openssl s_client -connect www.cloudflare.com:443 -nextprotoneg '' CONNECTED(00000003) Protocols advertised by server: h2, spdy/3.1, http/1.1 这种方法似乎对我testing过的很多领域都很好。 然而,(HTTP / 2-enabled)域名benchmarkjs.com产生的输出看起来完全不同,我不知道为什么: $ openssl s_client -connect benchmarkjs.com:443 -nextprotoneg '' CONNECTED(00000003) depth=0 C = US, ST = Washington, L = Seattle, O = Odin, OU = Plesk, CN = Plesk, emailAddress = [email protected] verify error:num=18:self […]