Module stop after certificate install - azure-iot-edge

I followed the instructions to create a transparent gateway and successfully have a leaf device send telemetry to the IoT Hub via the gateway. However, I noticed that as soon as I set the certificate on the gateway, all modules installed (except for the Agent and the edgeHub) on the Gateway stopped functioning (even with the sample tempSensor). The Azure portal even showed that my edge gateway is disconnected (the telemetry still got through). I tried the log on the tempSensor module and it shows that there are some issues with the certificate (shown here)
Do you have any idea how to solve the problem? It is kind of pointless to gateway without any module on it.
Also, I want to pre-process the received messages from the leaf devices before sending to the IoT Hub. I know how to route the messages between modules (as in the tutorials) but how to route the messages from the leaf devices to a module?

I have no immediate idea about the certificate issue but in regards to the routing from leaf devices to a module this config should work:
"leafToFiltermodule": "FROM /messages/* WHERE NOT IS_DEFINED($connectionModuleId) INTO BrokeredEndpoint(\"/modules/filtermodule/inputs/input1\")"
The clue is WHERE NOT IS_DEFINED($connectionModuleId) which filters out all messages which are sent by other modules on the Edge device itself and only routes messages from the leafs

Related

Connecting using SnowSQL denied 403 error

I am trying to configure JDBC but kept getting the same error I am getting using snowsql:
250001 (08001): Failed to connect to DB. Verify the account name is correct: JG3409.canada-central.azure.snowflakecomputing.com:443. 000403: 403: HTTP 403: Forbidden
If the error message is unclear, enable logging using -o log_level=DEBUG and see the log to find out the cause. Contact support for further help.
Goodbye!
I have configured the config file, and I have double checked the account, company, region, reset password to only use alphanumeric.
I have used both forms of the URL
The only possibility is that I am using a trial account, but I can't imagine that this would limit external non-browser connections?
I use a simple user/password, I have whitelisted my IP and I don't have a problem with a proxy or a firewall. I can successfully connect using a browser.. using:
https://app.snowflake.com/canada-central.azure/jg63409
Important contents of the config file:
[connections]
accountname=JG3409
#accountname=uegxydq-pz20606
region=canada-central.azure
username=ASHSNOWFLAKE
any ideas?
Your account is not JG3409 but JG63409 based on this link:
https://app.snowflake.com/canada-central.azure/jg63409
Try in your browser:
https://jg63409.canada-central.azure.snowflakecomputing.com
I found out using snowcd that my computer could not connect via my home router.
When I used my personal hotspot on my (5G) phone, snowcd passed all the tests immediately. The problem then arose how to adjust the network security policy to allow a CIDR block of network addresses through since my phone uses a new address every time I connect, and I can't edit the policy to allow my phone while connected via my phone (for obvious reasons)
Catch 22
123.45.0.0/16 is not accepted in the new Snowflake UI, and 0.0.0.0 doesn't work for me, but the documentation gave me a clue.. the new UI doesn't separate by commas, so I switched to the old UI and voila!
Incidentally the OLD UI uses the same URL as SnowSQL so I picked up my error in my account number there as well (although I should have seen it earlier).
Diabolical but thanks #Sergiu too!

Twilo unable to call the status call back url for SMS

We have exposed a url to Twilio to send the sms delivery status and it was working fine when we hosted our service in our own data center.
But we moved our services to aws ; Twilio is unable to call our service and it showing the below error
https://www.twilio.com/docs/api/errors/11200
please help
make sure your Elastic IP Address is reachable using TCP/443 (you enabled this on your EC2 instance, correct) and your application supports both GET and POST methods. Check the Debugger (small bug icon in upper right corner of console) for any relevant error messages, otherwise the error 11200 URL you provided has a lot of extra steps to check.
You should be able to reach your application via your web browser, for testing.
Which IP addresses will Twilio's requests come from?

Misdirected Request happening on Apple devices

An annoying and persistent issue that I've been facing is a "Misdirected Request Error The client needs a new connection for this request as the requested host name does not match the Server Name Indication (SNI) in use for this connection" when carrying out an AJAX request from my front end to the back end. CORS origin has been taken care of. The weird thing is that this issue only occurs with Apple devices (iPhone/Mac Book) on Safari and Chrome. Other Android and Windows devices work seamlessly. I tried purchasing an additional dedicated SSL certificate to my domain which includes two subdomains (the frontend and backend) from GoDaddy.
Any other tips/solutions please?
Issuing a separate SSL certificate for the two sub-domains did the trick. Make sure that the two sub-domains are not grouped under the same certificate.

Network Sniffing/SSL Pinning : Not able to get post through the login page in a mobile app when detecting traffic with Fiddler

I am debugging network calls of one of the client's application whom code I am not having. The steps I have gone thorough is as below.
1) Install fiddler in a windows system.
2) unable HTTPS decryption.
3) set the system proxy to match the client's country. (USA)
4) install the app on iOS to which is on same network.
5) Installed the Fiddler certificate in phone, added to trusted certificate
6) Applied the manual proxy matching the same internal IP of the windows system. (not the system proxy of USA)
Now when I open the app, I am able to trace the network calls till login page. Also able to detect network call which send the credentials.
But after loading for 5-8 seconds, the app shows "something went wrong, we are unable to serve you"
I am not able to see any trace of my machine IP (internal IP), in network calls being sent. I changed my phones Timezone in case that is the triggering point for stop serving.
Also randomly after 2-3 attempts the following popup comes. I have set the Client Certificate as asked, which was downloaded from http://ipv4.fiddler:8888 .
There are many other apps for which I am able to see the entire network calls but not for this specific one.
Is there any issue in my system settings or the app provider have mechanism to identify man in the middle proxies. Or certificate issues?
Update 1 : I checked the fiddler log and found the below error
HTTPS hand shake to TargetURL failed The exact error was "a call to SSPI failed, see inner Exception, the certificate chain was issued by an authority that is not trusted. is this case if SSL Pinning?
You are mixing up the certificates. Usually the problem is the server certificate, however in your case the problem arises from a client certificate. A SSL client certificate is a optional feature that allows to identify a user based on a certificate + private key instead of username+password. It is often used in companies where each user has a certificate+private key on a smart card.
There are now two possibilities:
The iOS app includes a client certificate+private key and the app developers use this to protect the communication API (a bit similar like an API key). In this case you have to extract the certificate and the private key and provide it to Fiddler. Most likely certificate and private key are the same for every device world-wide and can be found as static resource in the iOS app (potentially obfuscated or somehow protected).
The server asks for a client certificate but providing a certificate is optional. I don't know if Fiddler can handle this situation.

pusher issue on connection wrong cluster

This is the issue I am getting:
application-169dad56b7bb7d53e3aaeaf87e8fc05c.js:156 Pusher : Error : {"type":"WebSocketError","error":{"type":"PusherError","data":{"code":4001,"message":"App key 2395af13c928012b447b not in this cluster. Did you forget to specify the cluster?"}}}
This error means that you haven't specified the Pusher cluster to connect to, or specified one that is not the same as the one your app was configured to use in Pusher's Dashboard.
Specify the cluster to connect to as described here. The cluster your app is configured to use is shown at the bottom left of your app's page in the dashboard.

Resources