标签: https

HTTPS REST 客户端响应

我需要从客户端进行 HTTPS 调用。我不需要将证书发送到服务器,只需要验证来自服务器的证书。

我研究了这个话题,这是我的理解。你能确认一下吗?我还没有测试服务来验证我的代码......但仍然需要满足最后期限......任何建议/输入都会有所帮助。

我将此添加到我的班级中:

private static String appKeyFile = "/project/src/security/cert_file.jck";  
private static String key = "password";  
static {  
    System.setProperty("javax.net.ssl.keyStore", appKeyFile);  
    System.setProperty("javax.net.ssl.keyStorePassword",key);  
    System.setProperty("javax.net.ssl.keyStoreType","JCEKS");  
}  
Run Code Online (Sandbox Code Playgroud)

并按如下方式进行 HTTPS 调用:

config = new DefaultClientConfig();  
client = Client.create(config);  
service = client.resource(UriBuilder.fromUri("https://localhost:8081/TestService").build());  
clientResponse = service.path("rs").path("test").path("getCustomerDetail")  
        .accept(MediaType.APPLICATION_XML)  
        .post(ClientResponse.class, customerRequestType);  

if (clientResponse.getStatus() == Response.Status.OK.getStatusCode()) {   
    custResponseType = clientResponse.getEntity(CustResponseType.class);  
    System.out.println("First Name" + 
    custResponseType.getFirstName());  
}
Run Code Online (Sandbox Code Playgroud)

从 SSL/HTTPS/certs 等角度来看,这是否足够(调试除外)?我还有什么需要做的吗,比如加载密钥库或初始化 SSLContext?

java rest https

0
推荐指数
1
解决办法
5427
查看次数

使用 iptables 规则记录 https 上的所有流量

我有兴趣记录来自端口 443 的所有流量,以便对我们正在处理的某些连接处理/阻塞进行故障排除。记录所有 https / 端口 443 流量的最佳方法是什么(即使一开始就完整性来说有点矫枉过正)?

哦...这将在网关/路由器上进行记录...因此它将记录从 LAN 端进入的所有流量。在这种情况下,不关心 WAN 端 - 只想记录来自 LAN 端的所有传出流量。我知道我不会看到它的内容 - 我只想看到它们通过 iptables 的连接(源 IP 和目标 IP)。

linux https router iptables

0
推荐指数
1
解决办法
9526
查看次数

Phonegap - Android https 请求在通过 Eclipse 构建时不起作用

我正在为 Android 上的 https 请求苦苦挣扎。

我们有一个由 CA 签署的有效 SSL 证书,这是众所周知的,https 请求不起作用,它们返回一个错误。以前我使用 Phonegap build 构建应用程序并且没有问题,现在我需要包含一个通知插件(用于工具栏通知),因此该应用程序需要通过 Eclipse 构建。相同的 url 对 http 工作正常,但一旦使用 https,所有请求都会失败。

同样,当我第一次在手机上的浏览器中尝试链接时,它弹出了一个关于证书无效的警告,但我 100% 确定证书有效并且签名正确。

有没有一种简单的方法可以在不影响安全性的情况下使这些 https 请求正常工作?

有谁知道 phonegap build 与 Eclipse 有什么不同?

我做了一些更多的研究,似乎没有安装中间证书可能有问题。我仍在尝试找出我们是否确实安装了它。我想我会提供更新以防万一有人遇到同样的问题。

ssl https android request cordova

0
推荐指数
1
解决办法
2401
查看次数

如何在 NancyFX SelfHost 中将所有请求从 HTTP 转发/重定向到 HTTPS?

我试图得到它,以便任何请求:

http://<myserver>:1234

被重定向到:

https://<myserver>:1234

我试过在模块中使用“this.RequiresHttps()”,但是当我点击 url 时http://<myserver>:1234,浏览器只是旋转,我猜这是因为我没有NancyHost用 HTTP URI构造。我无法将 HTTP URI 与 HTTPS URI 一起添加到 NancyHost,如下所示:

var host = new NancyHost(new Uri("http://localhost:1234"), new Uri("https://localhost:1234"));

因为我会遇到注册冲突。

有任何想法吗?

https redirect http self-hosting nancy

0
推荐指数
1
解决办法
1056
查看次数

是否可以使用 ssl 连接运行 symfony2 开发服务器?

我正在 symfony 2 中的内置 Symfony2 服务器 ( app/console server:run) 中开发我的新项目。是否可以在此服务器上使用 https 运行我的网站?

https symfony

0
推荐指数
1
解决办法
4198
查看次数

我如何使用 LuaSec 在 HTTPS 中发送

在我的脚本中,我使用库 LuaSocket 发送 XML 代码。这适用于以下代码:

local request_body = (XMLHeader..XMLBody);
local response_body = {}

local res, code, response_headers = socket.http.request
 {
  url = "http://blabla.com/v01/Authenticatie.svc";
  method = "POST";
  headers = 
 {
  ["Content-Type"] = "application/soap+xml; charset=utf-8";
  ["Content-Length"] = string.len(request_body);
  ["Accept-Encoding"] = "gzip, deflate";
  ["Connection"] = "Keep-Alive";
 };
 source = ltn12.source.string(request_body);
 sink = ltn12.sink.table(response_body);
 }
Run Code Online (Sandbox Code Playgroud)

但是现在我将使用带有证书的协议 HTTPS 发送 XML。我知道我可以使用 LuaSec 但如何使用?有人可以告诉我,我如何将代码修改为 HTTPS 的工作代码?

https lua luasocket luasec

0
推荐指数
1
解决办法
3173
查看次数

Node.JS https请求返回JSON

我有关于Node.js HTTPS请求的问题.请求转到服务器,该服务器将返回JSON响应.然后我想解析响应并将其存储在变量中并与其他函数一起使用.

let obj=JSON.parse(response);
return obj;
Run Code Online (Sandbox Code Playgroud)

我写的功能:

let protocol="https";
let hostStr="www.example.com";
let pathStr="***";

let students=makeRequest("ABCDEFG","getStudents"));
console.log(students);

function makeRequest(token,method){    
       let obj='';
        let options={
            host:hostStr,
            path:pathStr,
            method:"POST",
            headers:{"Cookie":"JSESSIONID="+token}
        };
        let https=require(protocol);
        callback = function(response){
            var str='';

            response.on('data',function(chunk){
                str+=chunk;
            });

            response.on('end',function(){
                obj=JSON.parse(str);
            });
        }
        let request=https.request(options,callback);
        request.write('{"id":"ID","method":"'+method+'","params":{},"jsonrpc":"2.0"}');
        request.end();
        return obj;
    }
Run Code Online (Sandbox Code Playgroud)

我希望你能帮帮我

javascript https json node.js

0
推荐指数
1
解决办法
3131
查看次数

服务器和客户端错误使用代码中的HTTPS但在浏览器中工作

运行新创建的基于IdentityServer4 Asp.Net Core的服务器.它"工作"的意义是它在没有HTTPS的情况下工作,无论是在进行身份验证的调用中还是为了提供一些Asp.Net MVC视图.我将其切换为使用HTTPS进行本地开发环境,根据本文生成证书.

从浏览器,它"工作".我能够像Chrome那样的文章建议并绕过安全警告来获取Web视图.但是,从.Net客户端我使用IdentityModel NuGet包,只是尝试使用Discovery Endpoint访问元数据现在失败了.服务器提供"无法验证HTTPS连接"IOException,并且客户端提供"证​​书颁发机构无效或不正确"HttpRequestException.

我猜这与浏览器中的事物是交互式的事实有关,我可以告诉它忽略警告并继续.但是在代码中,特别是使用该库,它给了我异常而不是继续.也许.

有没有办法处理这种使用HTTPS和自签名证书更好地运行IdentityServer4/AspNetCore的方案?有没有可以用DiscoveryClient做的事情,我没有看到?

这个问题很相似,但在这种情况下重新生成证书并没有帮助.我想知道IdentityServer/DiscoveryClient角度是否还有其他原因或见解.

https kestrel-http-server asp.net-core identityserver4

0
推荐指数
1
解决办法
1189
查看次数

如何使用SSL HTTPS在Amazon EC2 AWS中保护Nginx前端和Puma后端

我正在尝试将我的网站从http迁移到https。该体系结构是:在Nginx服务器(侦听端口80)上运行的angularJS Webapp前端,它将请求发送到在Puma服务器(侦听端口8080)上运行的Rails API应用。两台服务器都一起位于Amazon EC2实例中。

这是我第一次迁移到HTTPS,我一点也不熟练。读了很多书,我取得了一些进步,但现在我陷入了困境。

我想确认我是正确的方法还是错误的方法。

在这一刻:

  1. 我获得了一个Let's加密证书,安装并更新了我的Nginx服务器。现在,服务器正在侦听443,而SSL正在前端工作。
  2. 我以为足以保护一个站点,但我意识到从前端发送到后端的请求中出现了blocked:mixed-content错误。
  3. 因此,我想我也需要保护后端。(请确认)
  4. 现在(这仅在开发中,而不是在AWS实例中工作)为了保护后端Puma服务器,我采用了一种非常简单的方法:由于Rails API是私有的,因此我创建了一个自签名SSL证书,并仅使用它来启动这样的Puma服务器:

    捆绑执行程序puma -b'ssl://127.0.0.1:3000?key = puma.server.key&cert = puma.server.crt'-e开发-S〜/ puma -C config / puma / development.rb

如前所述,这正在开发中。我的Nginx服务器正在侦听443,并将请求发送到在端口3000侦听的Puma。

  1. 在这一点上,我尝试在EC2生产实例中执行相同的操作。但是在这里,我有堵墙。我刚刚创建了另一个自签名证书,并以相同的方式启动了puma服务器。但是连接被拒绝了。我了解问题是EC2安全规则中的端口3000未打开。我试图同时在HTTPS中打开该端口,但EC2不允许我使用该端口,因为它仅适用于端口443和HTTP,但是由于SSL无效而无法启动服务器。

因此,在这一点上,我想知道我是否采用了正确的方法,但是我只是缺少了一些东西,否则,对于EC2实例来说这是错误的方法,我需要做一些真正不同的事情。注意:我已经阅读了一些有关如何配置Nginx服务器以代理https的内容,但目前还不太了解。我应该这样走吗?

@ffeast回答后的评论和问题:

我了解您的做法。我建议采用第二种方法。但是,我有一些问题:

  1. 我是否可以解决通过这种方法获得的blocked:mixed-content错误?为什么?我的意思是,Rails API请求是否应该更改?注意:目前,在Angular中,我有一些资源可以发送请求,例如:// domain-name:8080 / action,而Puma服务器正在侦听该端口中的请求。我目前没有任何代理通行证。

  2. 我认为您包括连接到Puma套接字的de Nginx配置,我想我需要创建此Puma套接字,我将需要检查如何做。如果您知道包含示例将有帮助。如果使用此套接字配置Puma,是否需要在特定端口中启动Puma?

  3. 我试图理解整个图片,但我仍然困惑:3.1对API的请求(来自Angular Nginx)应该是什么样的?3.2是否应该在特定端口上启动Puma?我不知道套接字方法是否需要... 3.3以及代理传递配置应如何匹配这些请求。

您能否澄清一下可能会更新您的示例?假设目前的请求就像// domain-name:8080 / action

更新 我正在尝试配置Ningx以将请求传递给PUMA套接字(目前正在开发中)。我遇到了错误,请查看一篇新文章以保持此整洁:Nginx代理传递给Rails API

更新2 它正在工作!我的网站安全无误!这是我的配置。

upstream api.development {
    # Path to Puma SOCK file, as defined previously
    server unix:/tmp/puma.sock fail_timeout=0;
}

server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      /keys/ssl/development.server.crt;
        ssl_certificate_key  /keys/ssl/development.server.key;

    #    ssl_session_cache    shared:SSL:1m; …
Run Code Online (Sandbox Code Playgroud)

ssl https nginx amazon-ec2 puma

0
推荐指数
1
解决办法
1577
查看次数

使.well-known目录在Express 4中可见

这花了我一段时间才能弄清楚,所以我想我会留下一些说明,说明如何完成此操作,以防其他人遇到相同的问题。

我需要允许Express中的.well-known目录访问目录,以便能够使用certbot生成SSL证书。

ssl https node.js express certbot

0
推荐指数
1
解决办法
975
查看次数