Connecting to GO websocket server running on AWS Beanstalk - amazon-web-services

I have a websocket server built with go running on AWS beanstalk. I'm running a load balancer with a SSL cert. I'm having issues connecting to it via the browser. If I try to connect to it through another go program running on my terminal everything works fine. I've updated my environment to accept TCP instead of HTTP connections on port 80.
When I try to connect from the webapp though I get this error.
WebSocket connection to 'wss://root.com/users/fcbd7f8d-2ef6-4fe2-b46c-22db9b107214/sockets/client'
failed: Error during WebSocket handshake: Unexpected response code: 400
When I check the AWS logs I find this error.
the client is not using the websocket protocol:
'websocket' token not found in 'Upgrade' header
UPDATE
if I run the webapp on my localhost and change the connection string from wss:// to ws:// it works. If I try the same url in the live webapp I get an ssl error.
Mixed Content: The page at 'https://root.com/captions' was loaded over HTTPS,
but attempted to connect to the insecure WebSocket endpoint
'ws://root.com/users/fcbd7f8d-2ef6-4fe2-b46c-22db9b107214/sockets/client'.
This request has been blocked; this endpoint must be available over WSS.

Related

aws s3 cpp sdk finning connection with minio after handshake wih tls 1.2

I'm working with a MINIO server and AWS cpp SDK client.
Everything works with HTTP, but after switching to HTTPS I'm getting "NETWORK CONNECTION" errors.
In Wireshark the connection is:
client Hello
server hello
server sends Certificate , Server key exchange, Certificate Request, Server Hello Done
client sends ack
client sends FIN, ACK
When activating debug, aws logs the following error: WinHttpSyncHttpClient [54364] Send request failed: A certificate is required to complete client authentication
What works:
AWS CLI to the MINIO (works with TLS 1.3 so the connection looks different)
The same SDK with no SSL connection (when turning if off in MINIO as well).
The same SDK works well with AWS S3 (with SSL).
What was tried and does not work:
Turning "verifySSL" on and off
Sending and not sending region
Manually switching to HTTP 1.1
Does anyone have ideas on how to identify\solve the problem?
We managed to bypass the problem by switching to OpenSSL instead of WinHttpSyncHttpClient, by turning the relevant flag in AWS SDK CMake file.

Failed: WebSocket opening handshake timed out (Amazon AWS)

I am facing issue with websocket.
Websocket is working fine with http.
But when we tried to access it from HTTPS we are facing failed: WebSocket opening handshake timed out error
Its working fine with http.

aws beanstalk single instance 502 proxy error

I'm trying to configure an aws beanstalk single instance. I've successfully created the instance, but when I navigate to the Environment URL, I get the following error.
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server
What could be causing this and what do I need to do to fix it.
I'm deploying a java web app using tomcat.

Getting 502 proxy error after deploying app to AWS

I deployed an Application to AWS elastic beanstalk. When I try to open the application, I am getting 502 proxy error Saying following message.
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server
Apache/2.2.31 (Amazon) Server at mehe.us-west-2.elasticbeanstalk.com
Port 80
Strange part is when I run the application from localhost(Still connected to amazon database) the application is working fine, but after deloying it is not working. Here's the link to application
Any ideas how to get rid off it.
The timeout value for HTTPD is lower than the timeout value set for ELB. Change the timeout value in /etc/httpd/conf/httpd.conf
The keep the value between reboots you'll need to either create a custom AMI or use .ebextensions feature.

Unable to open redis 6379 for inbound on AWS EC2

I have two servers on EC2. One hosting my php application and other hosting my redis server. I am managing my php session and data on redis server. So on my php server I gave the ip:port as session save path and got the error FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught exception 'RedisException' with message 'Connection closed'
So I search on the web and came to know that I need to open port 6379 on my redis instance for inbound traffic. I opened it by setting a custom TCP setting in AWS security group but still the port is coming closed to outside world. But I am able to listen to the port on redis server itself. Am i Missing anything in the process? Do I need to make any other change somewhere. Please guide me on this. I am very much new to AWS management
On Instance 1: I am using php-fpm, nginx and phpredis
On Instance 2: Using Redis