Tag: https

我如何知道对servlet的请求是使用HTTP还是HTTPS执行?

我用Java编写了一个servlet,我想知道是否使用HTTP或HTTPS执行对该servlet的请求。 我以为我可以使用request.getProtocol()但它返回两个方法的HTTP / 1.1。 有任何想法吗?

没有“http | https”的url

我刚刚从一位同事那里了解到,在链接中省略URL的“http | https”部分会使该URL使用所使用页面的任何scheme。 举例来说,如果我的网页在http://www.example.com上被访问,并且有链接(注意前面的“//”): <a href="//www.google.com">Google</a> 该链接将转到http://www.google.com 。 但是,如果我使用相同的链接访问https://www.example.com的网页,则会转到https://www.google.com 我想在网上寻找更多关于这方面的信息,但我很难想出一个好的search词组。 如果我search“没有HTTP的URL”,返回的页面是关于这种forms的URL:“www.example.com”,这不是我正在寻找的。 你会打电话给一个无计划的URL吗? 无协议的URL? 这是否适用于所有浏览器? 我在FF和IE 8中testing了它,并且在两者中都起作用。 这是标准的一部分,还是应该testing更多的浏览器?

将httpredirect到https是一个坏主意?

我正在阅读这个页面 ,它说,如果一个站点是SSL,并且用户试图通过普通的http访问它,那么应用程序就不应该把用户redirect到https。 它应该阻止他。 有人可以validation这个的有效性吗? 这听起来不是一个好主意,我想知道将用户转到https的真正风险是什么。 似乎没有技术原因,只是这是教育用户的好方法。 禁用对域的HTTP访问,甚至不redirect或链接到SSL。 只要通知用户这个网站不能通过HTTP访问,他们必须通过SSL访问它。 这是针对MITM和phising攻击的最佳做法。 这样,你的用户将被教育,应用程序永远不能通过HTTP访问,当他们遇到一个电话或MITM攻击,他们会知道一些错误。 保护您的应用程序免受MITM攻击和networking攻击的最好方法之一是教育您的用户。

SSL错误:无法获取本地颁发者证书

我在Debian 6.0 32位服务器上configurationSSL时遇到问题。 我对SSL比较新,所以请耐心等待。 我尽可能地包括尽可能多的信息。 注意:真正的域名已被更改,以保护服务器的身份和完整性。 组态 服务器正在使用nginx运行。 它configuration如下: ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt; ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_verify_depth 2; 我用这里描述的方法链接我的证书 cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt 其中mysite.ca.crt是签名机构给我的证书, bundle.crt是我的签名机构发给我的CA证书。 问题是我没有直接从GlobalSign购买SSL证书,而是通过我的托pipe提供商Singlehop购买。 testing 证书在Safari和Chrome上正确validation,但不在Firefox上validation。 初步search显示,这可能是CA的问题。 我探索了一个类似问题的答案,但无法find解决scheme,因为我不太明白每个证书的用途。 我用openssl的s_client来testing连接,并收到似乎表明与同样的问题相同的问题的输出。 错误如下: depth=0 /OU=Domain Control Validated/CN=*.mysite.ca verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 /OU=Domain Control Validated/CN=*.mysite.ca verify […]

从命令行使用CURL进行https连接

我是Curl和Cacerts世界的新手,在连接服务器时遇到问题。 基本上,我需要通过httpstesting连接从一台机器到另一台机器。 我有一个URL,我需要从机器A(一台Linux机器)连接我试图在命令提示符下 cmd> curl https://[my domain or IP address] 并得到以下几点: curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 在通过互联网上的一些文章,我做到了这一点: openssl s_client -connect <domain name or Ip address>:443 并得到了一些回应,包括服务器证书(内部—–BEGIN CERTIFICATE—– and —–END CERTIFICATE—– )。 接下来我应该从这里做什么。 我想,我将不得不复制粘贴BEGIN CERTIFICATE & END CERTIFICATE的文本并将其保存在一个文件中。 但是,应该是什么types的文件? .pem , .crt ?..之后应该做些什么? 我试了这个 […]

Android WebView不加载HTTPS URL

public void onCreate(Bundle savedInstance) { super.onCreate(savedInstance); setContentView(R.layout.show_voucher); webView=(WebView)findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setBuiltInZoomControls(true); String url ="https://www.paymeon.com/Vouchers/?v=%C80%8D%B1x%D9%CFqh%FA%84%C35%0A%1F%CE&iv=%25%EE%BEi%F4%DAT%E1" //webView.loadUrl(url); // Not Working… Showing blank webView.loadUrl("http://www.yahoo.com"); // its working } 当我尝试在WebBView中加载一个URL时,它只显示一个空白的屏幕。 如果我加载Google.com或yahoo.com它工作正常。

在将密码发送到服务器端之前,我应该散列密码吗?

我注意到,大多数站点通过HTTPS将密码以纯文本格式发送到服务器。 如果不是我把密码的散列发送到服务器,有什么好处吗? 会更安全吗?

适用于Amazon S3静态网站的HTTPS

我想使用Amazon S3和CloudFront托pipe仅HTTPS的静态网站。 以下是我迄今为止所做的: 为静态网站托pipe设置一个S3存储桶,并将我的网站文件放入其中 创build了CloudFront分配并将其指向S3存储桶 在指向CloudFront存储桶的www子域名的域名服务器中添加了CNAMElogging。 到目前为止,这么好 – 我可以使用www.example.com地址访问我的网站。 但是,我希望网站只能通过HTTPS访问,为此我从GoDaddy购买了SSL证书。 现在的问题是: 有没有办法在S3托pipe的网站上安装这个第三方SSL证书? 有没有办法有一个自动http httpsredirect与此设置?

代理服务器上的HTTPS连接

是否可以通过代理服务器进行HTTPS连接? 如果是的话,什么样的代理服务器允许这个? 重复与如何使用Socks 5代理与Apache HTTP客户端4?

HAProxyredirecthttp到https(ssl)

我正在使用HAProxy进行负载平衡,只希望我的网站支持https。 因此,我想将端口80上的所有请求redirect到端口443。 我将如何做到这一点? 编辑:我们想在https上redirect到相同的url,保留查询参数。 因此, http://foo.com/bar会redirect到https://foo.com/bar