Swagger UI 拒绝使用自签名证书向https发出请求。
接下来的问题是:
curl -X POST "https://localhost:8088/Authenticate" -H "accept: pplication/json" -H "Content-Type: application/json" -d "{ \"username\":"user\", \"password\": \"user\"}"
Run Code Online (Sandbox Code Playgroud)
以上命令由 swagger 自动生成,运行后返回:
TypeError: Failed to fetch
Run Code Online (Sandbox Code Playgroud)
手动(不使用 Swagger UI)运行返回:
curl: (60) SSL certificate problem: self signed certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page …Run Code Online (Sandbox Code Playgroud) 我在本地使用springBoot,java,jHipster,Angular等创建了一个项目,我想运行它。通常我使用mvnw运行该项目。现在我更换了计算机,因此在cmd中运行mvnw时,它说应用程序在https:// localhost:8080中运行,当我转到此链接时,我无权访问该应用程序。
这是消息:
This site can’t provide a secure connection
localhost sent an invalid response.
Try running Windows Network Diagnostics.
ERR_SSL_PROTOCOL_ERRORRun Code Online (Sandbox Code Playgroud)
也许我需要安装apache,以便可以访问localhost中的项目?我不记得是否可以在旧PC上安装apache来访问该应用程序。
我netstat -ano | findstr 8080在cmd中进行了操作,并在任务管理器中发现java.exe使用了端口8080。也许是港口问题?谢谢!
我知道在 Vue CLI 中使用 https 我可以在 vue.config.js 文件中的 devServer 下设置“https: true”,但我还需要一个自签名证书。
我已经尝试使用 OpenSSL 生成一个自签名的,并在我的 vue.config.js 文件中使用以下内容作为目标:
const fs = require('fs');
module.exports = {
devServer: {
port: '8081',
https: {
key: fs.readFileSync('./certs/server.key'),
cert: fs.readFileSync('./certs/server.cert'),
},
},
};
Run Code Online (Sandbox Code Playgroud)
Chrome 确认它正在使用我的证书,但仍将 https 显示为“不安全”
在通过 Vue CLI 提供时,如何让 chrome 评估我的自签名证书是否安全?
背景:我有一个可通过 Windows 10 机器上的 Chrome 访问的网络应用程序。
我还在设备上安装了本机 Win10 应用程序。Web 应用程序通过在 IISExpress 中运行在机器上的本地 Web 服务将数据发送到 Win10 应用程序。
为了允许端口 44300 上的 HTTPS 通信,我通过 PowerShell 创建了一个自签名证书: New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddMonths(60 )
然后将其导入到“本地计算机\受信任的根证书\证书”
从 web 应用程序中,我向 win10 应用程序发送一个命令,如下所示: https://localhost:44300/CMTService.svc/JumpToAssignment?Param=Key=418584577
win10 应用程序正在轮询这些请求并接收消息。
问题:
不同版本的 Chrome 在接受自签名证书时表现不同。例如,版本 62、64 和 75 都接受证书并允许与 Web 服务通信。但是其他版本的 Chrome(如 76 和 78)会阻止通信。Chrome DevTools 中的安全选项卡将https://localhost:44300 显示为“未知/已取消”,我的请求失败并显示ERR_SSL_CLIENT_AUTH_CERT_NEEDED. 而在 Chrome 的工作版本中,我的 URL 显示在“安全来源”下。我唯一改变的是 Chrome 版本以获得这些不同的结果。
我尝试启用 Chrome 设置以允许本地主机的无效证书(chrome://flags/#allow-insecure-localhost)。这暂时有效,但在关闭并重新打开 chrome 后,我的请求再次开始失败,错误代码相同。
如果我将失败的 URL 之一粘贴到新的 Chrome 选项卡中,突然与我的网络应用程序中的本机应用程序的通信恢复正常。但它仅适用于该会话 …
更新:解决了一个部分,但没有解决其他部分
我现在有 CRX 更新(它不是重建)。
但是,Chrome 不会接受 https URL 中的 XML 或 CRX。
我相信#2 是因为它是一个自签名证书。有谁知道是否有办法解决这个问题?(这纯粹是为了开发,所以在内部托管)
原帖:
我创建了一个托管在我的内部网站上的打包扩展程序,但是通过从桌面拖动它被添加到 Chrome 中(因为 Chrome 不允许通过外部网站安装打包扩展程序 - 请参阅此处:将 ExtensionInstallSources 首选项添加到 Chrome 的 URL 之后首选项,仍然不允许安装“.crx”打包应用程序)。
清单已update_url设置为位于我网站上的 XML 文件。该 XML 文件具有设置在updatecheck codebase='...'. 这两个文件都存在于网站上并且可以找到。我也更新过的从版本号2.0.0.2,以2.0.0.2在XML文件和两个manifest.json。我还在扩展的 index.html 文件中进行了更改。
我检查了appid,它在 XML 文件和 Chrome 中是一样的。
尽管单击“立即更新扩展程序”按钮大约 50 次,并等待 10 分钟,它仍然没有更新。
注意:我确实将内部 ip 192.168.1.108 别名为该站点托管在我的主机文件中,myinternal.fake但这在 chrome 和 firefox 中都有效,所以我认为这不是问题
更新 XML 文件(位于:https://myinternal.fake/updates/helloworld.xml)
<?xml version='1.0' encoding='UTF-8'?> …Run Code Online (Sandbox Code Playgroud) google-chrome web-applications browser-extension google-chrome-extension google-chrome-app
我在localhost(wamp)上设置了ssl,我使用GnuWIn32创建了ssl crt.
当我尝试在Chrome中使用fb登录时,我收到以下消息:
网址:
https://localhost/ServerSide/fb-callback.php?code=.....#_=_
Run Code Online (Sandbox Code Playgroud)
错误:
你的连接不是私人的.
攻击者可能试图从localhost窃取您的信息(例如,密码,邮件或信用卡).NET :: ERR_CERT_INVALID.localhost通常使用加密来保护您的信息.当Chrome尝试连接到本地主机时,该网站发回了异常且不正确的凭据.当攻击者试图伪装成本地主机或Wi-Fi登录屏幕中断连接时,可能会发生这种情况.您的信息仍然安全,因为Chrome在交换任何数据之前停止了连接.您现在无法访问localhost,因为该网站发送了Chrome无法处理的加密凭据.网络错误和攻击通常是暂时的,因此该页面可能会稍后运行.
我的SSL配置:
Listen 443
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:c:/wamp/www/ssl/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
<VirtualHost *:443>
DocumentRoot "c:/wamp/www"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "c:/wamp/logs/error.log"
TransferLog "c:/wamp/logs/access.log"
SSLEngine on
SSLCertificateFile "c:/wamp/www/ssl/ia.crt"
SSLCertificateKeyFile "c:/wamp/www/ssl/ia.key"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "c:/Apache24/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog "c:/wamp/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在localhost上设置有效的SSL证书?或者我是否需要编辑配置?
我一直有这个问题,我在github发布了一段时间,一些帖子说这是谷歌Chrome问题.
我跟着stackoverflow帖子,但我不知道去哪里.我在Windows 7上运行谷歌浏览器.
我正在尝试使用https运行vue-cli项目。
按照此处的说明,如何通过https运行Vue.js dev服务?
我已经将https设置添加到vue.config.js如下
module.exports = {
devServer: {
https: true
},
Run Code Online (Sandbox Code Playgroud)
当我运行该应用程序时,它正确地以https:// localhost:8080运行,但是Chrome抛出ERR_CERT_AUTHORITY_INVALID错误。
看来我需要在Windows中设置SSL证书并在vue.config.js中进行一些配置。有谁知道如何做到这一点?注意,此问题专门适用于Windows。
我有一个 React 应用程序,其中我正在向后端 API 执行提取请求。\n我正在尝试在 UI 端实现大量请求的缓存。
\n\n我能够在 Mozilla Firefox 中成功完成此操作,并且运行得非常好。\n但是 chrome 给我带来了困难。\n这是我试图实现的代码片段 -
\n\n fetch(URL, {\n signal: this.abortController.signal,\n cache: "default",\n headers: {\n "Cache-Control": "max-age=120"\n }\n })\n .then(response => return response.json())\n .catch(error => {\n if (error.name === "AbortError") {\n return;\n }\n this.setError(error);\n });\nRun Code Online (Sandbox Code Playgroud)\n\n我正在跟踪检查缓存的过程-
\n\n在检查 Firefox 的网络选项卡时,我可以看到“已传输”为“已缓存”,并且页面加载和一切都按预期工作有显着改进。
\n\n然而,在 Chrome 中,我仍然可以看到“大小”为“3.9 KB”,时间为“毫秒”。
\n\n我尝试了 - Chrome 是否忽略 Cache-Control: max-age?中提到的步骤 没有任何成功。
\n\n我还发现 - https://www.mnot.net/blog/2017/03/16/browser-caching …
我想在 HTTPS 服务器上部署我的 Sveltekit 应用程序。我也有关键文件。这是我的 svelte.config.js 文件
import preprocess from 'svelte-preprocess';
import node from '@sveltejs/adapter-node';
import fs from 'fs';
import https from 'https';
/** @type {import('@sveltejs/kit').Config} **/
const config = {
// Consult https://github.com/sveltejs/svelte-preprocess
// for more information about preprocessors
preprocess: preprocess(),
kit: {
// hydrate the <div id="svelte"> element in src/app.html
target: '#svelte',
adapter: node(),
files: { assets: "static" },
vite: {
server: {
https: {
key: fs.readFileSync("path\\privkey.pem"),
cert: fs.readFileSync("path\\cert.pem"),
},
},
}
}
};
export default config;
Run Code Online (Sandbox Code Playgroud)
我应该在哪里保存用于从配置文件中读取的密钥文件?我尝试了一些,发现了一些错误,截图附后。 …