我正在尝试通过 SSL 套接字连接到本地服务器。服务器使用 SSL 证书,该证书:
我知道安全隐患,但由于我无法控制的原因,我无法更改或请求更改此证书,因此我被迫使用它 - 或者更确切地说,围绕它工作。
为了克服以上两点,我创建了:
TrustManager允许所有证书。AlgorithmConstraints允许所有算法。我最终出现以下错误:
Caused by: java.security.cert.CertPathValidatorException: Algorithm constraints check failed on signature algorithm: MD5withRSA
看来我放松算法约束的方法是有缺陷的。
注意:我知道MD5withRSA可以通过更改 JVM 配置或命令行参数来允许该算法,但我需要以编程方式执行此操作。
将TrustManager创建如下:
TrustManager[] trustManager = new TrustManager[] {
new X509TrustManager() {
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
@Override
public void checkClientTrusted(
java.security.cert.X509Certificate[] certs, String authType) {
}
@Override
public void checkServerTrusted(
java.security.cert.X509Certificate[] certs, String authType) …Run Code Online (Sandbox Code Playgroud) 我有一个小型的家庭服务器,里面有几个项目,其中有几个 MP4 示例视频。
我一直在使用一个简单的<video>标签来播放视频,它适用于 Firefox、Chrome 和 Internet Explorer。
但是,由于某种未知原因,几个月前我的服务器开始锁定,因此我决定重新安装操作系统。我已经从硬盘驱动器中恢复了以前的安装,并且我已经(在可能的情况下)重新使用了各种组件的配置文件。
一切都很好,除了现在 Firefox 在使用<video>标签时拒绝播放 MP4 视频,只显示No video with supported format and MIME type found消息。直接打开文件(Viev video在 Firefox 中)可以正常播放,因为视频可以正确播放。
Chrome(最新版本)和 Internet Explorer(最新 W7 版本,不确定确切数字是多少)工作正常。
由于我没有更改浏览器,而只是更改了服务器软件/配置,因此我怀疑问题仅出在服务器上。
我四处搜索,发现了一些建议,例如将正确的 mime 添加到 Apache 的 .htaccess 文件中,并检查标头以获取可能的指示。我遵循了每一个似乎值得遵循的想法,除了重新编码视频,但没有一个奏效。
更多事实:
这是服务器在尝试从 video 标签播放文件时返回的标头:
Accept-Ranges: bytes
Connection: Keep-Alive
Content-Length: 17709423
Content-Range: bytes 0-17709422/17709423
Content-Type: video/mp4
Date: Fri, 18 Dec 2015 15:00:20 GMT
Etag: "20081-10e394f-5272d4fd62880;17709423" …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 Symfony 5 项目创建一个自定义 404 页面,该页面必须:
Content-Type: application/json标题。Symfony 文档中有一个部分试图解释如何实现这一点,但该信息似乎不完整/不正确,显然是为 4.X 版本编写的,甚至指向 GitHub 上不存在的源文件。
我已经成功创建了一个错误控制器,但它吞噬了所有错误:
# config/packages/framework.yaml
framework:
error_controller: App\Controller\ErrorController::errorHandler
Run Code Online (Sandbox Code Playgroud)
// src/Controller/ErrorController.php
class ErrorController extends AbstractController
{
public function errorHandler(TranslatorInterface $translator) : JsonResponse
{
return new JsonResponse($translator->trans('not_found'));
}
}
Run Code Online (Sandbox Code Playgroud)
问题是这会导致任何错误(包括内部错误)返回 404 页面。
如何让这个控制器/方法只处理 404 错误,而让框架本身像以前一样处理其他所有内容?