360Performance / dynatrace-plugin-certcheck

A Dynatrace Plugin for SSL Certificate validation
GNU General Public License v3.0
7 stars 2 forks source link

Dynatrace requiring Port of Proxy Server #21

Open jshuff27 opened 1 year ago

jshuff27 commented 1 year ago

After we updated to 1.50 all of our checks are failing because we don't use Proxy but Dynatrace UI is requiring a '0' value be provided for "Port of Proxy Server". As a result we receive the following errors

Failed to connect to xxx.xxx.xxx:443 via proxy: (None, 0) - str, bytes or bytearray expected, not NoneType

I'm going to see if I can clear this value via an API Update but even though this is not a required field Dynatrace is requiring a number value be entered. It Appears the code assumes you want to use Proxy if a value exists. So now stuck between DT and the code disagreeing with one another

jshuff27 commented 1 year ago

I think this is the line of code conflicting with Dynatrace since DT requires the value to be an integer defaulting to '0'

hosts.append(CheckInfo(url="{}://{}{}".format(parsed.scheme, parsed.hostname, "" if not parsed.port else ":"+str(parsed.port)), id=m_id, expire=expire, proxy=proxy ))

Thinking the fix may be to put the Proxy Port to 'String' instead of 'Integer'. Then I can leave it blank ""

UPDATE: W were able to change Proxy Port to String (from Integer) and DT allowed us to submit without providing a Proxy value. But the same issue persisted.

jshuff27 commented 1 year ago

Got things working again by commenting out the below code. Since we don't use Proxy it works for us at the moment.

    if proxy:
        parsed = urlparse("//"+proxy)
        connect_addr = (parsed.hostname, parsed.port)
        connect = "CONNECT {}:{} HTTP/1.0\r\nConnection: close\r\n\r\n".format(hostname, port)
reinhard-brandstaedter commented 1 year ago

I shall look into this Jason as fast as possible!

reinhard-brandstaedter commented 1 year ago

Hi @jshuff27 , you shouldn't see any of those issues with release 1.52 anymore.