That was helpful, thanks!
I used the LetsEncrypt cert creation tool to generate a certificate for dev-canvas-2020-09-09.xxx.com and verified that same domain is in the YML file you referenced. That resolved the issue of Canvas switching over to an IP address during the LTI launch sequence. And it also - along with the cert configuration I'm assuming - got rid of the Firefox "open in a new window" error. But of course, that only gets me to the next error!
GET https://dev-canvas-2020-09-09.xxx.com/courses/1/external_tools/19/resource_selection
placement=resource_selection
secure_params=undefined
context_module_id=1
POST https://my.tool.domain/lti1p3/login/981
iss=https://canvas.instructure.com
login_hint=b582bed226a0c6e204b6b811cf8a37e7b2f8b0ce
client_id=10000000000008
target_link_uri=https://my.tool.domain/lti1p3/launch/981
lti_message_hint=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJpZmllciI6IjY2MDU2YjZhMzhjYzdkM2M3ZmU2MGExZjllMGM1ZWUwNjQ4YWUwODJjNTMwYzFkZmJlNTg5M2U4YWNlOWYzMjYyMGNlOWJkYTBiNTg2ZmMwNDg1YmI5ZGZkZTljMzVkMzRiODcxZWRjYTZjZGI5YTc0MGEyYjg1ZTM4ZmFmYThjIiwiY2FudmFzX2RvbWFpbiI6ImRldi1jYW52YXMtMjAyMC0wOS0wOS5zcHJpbmd5YXdzLmNvbSIsImNvbnRleHRfdHlwZSI6IkNvdXJzZSIsImNvbnRleHRfaWQiOjEwMDAwMDAwMDAwMDAxLCJleHAiOjE2MDU1NDQxNDl9.Uqb1fM2RXw7g3qG4u8qR1YJQN5GZpMLGc86aYM-1nS8
canvas_region=not_configured
GET https://dev-canvas-2020-09-09.xxx.com/api/lti/authorize_redirect
https://dev-canvas-2020-09-09.xxx.com/api/lti/authorize_redirect?scope=openid&response_type=id_token&response_mode=form_post&prompt=none&client_id=10000000000008&redirect_uri=https%3A%2F%2Fmy.tool.domain%2Flti1p3%2Flaunch%2F981&state=state-5fb2a7ab35d323_32533045&nonce=nonce-5fb2a7ab35d633.50088451&login_hint=b582bed226a0c6e204b6b811cf8a37e7b2f8b0ce<i_message_hint=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJpZmllciI6IjY2MDU2YjZhMzhjYzdkM2M3ZmU2MGExZjllMGM1ZWUwNjQ4YWUwODJjNTMwYzFkZmJlNTg5M2U4YWNlOWYzMjYyMGNlOWJkYTBiNTg2ZmMwNDg1YmI5ZGZkZTljMzVkMzRiODcxZWRjYTZjZGI5YTc0MGEyYjg1ZTM4ZmFmYThjIiwiY2FudmFzX2RvbWFpbiI6ImRldi1jYW52YXMtMjAyMC0wOS0wOS5zcHJpbmd5YXdzLmNvbSIsImNvbnRleHRfdHlwZSI6IkNvdXJzZSIsImNvbnRleHRfaWQiOjEwMDAwMDAwMDAwMDAxLCJleHAiOjE2MDU1NDQxNDl9.Uqb1fM2RXw7g3qG4u8qR1YJQN5GZpMLGc86aYM-1nS8
GET https://dev-canvas-2020-09-09.xxx.com/api/lti/authorize
client_id=10000000000008
login_hint=b582bed226a0c6e204b6b811cf8a37e7b2f8b0ce
lti_message_hint=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ2ZXJpZmllciI6IjY2MDU2YjZhMzhjYzdkM2M3ZmU2MGExZjllMGM1ZWUwNjQ4YWUwODJjNTMwYzFkZmJlNTg5M2U4YWNlOWYzMjYyMGNlOWJkYTBiNTg2ZmMwNDg1YmI5ZGZkZTljMzVkMzRiODcxZWRjYTZjZGI5YTc0MGEyYjg1ZTM4ZmFmYThjIiwiY2FudmFzX2RvbWFpbiI6ImRldi1jYW52YXMtMjAyMC0wOS0wOS5zcHJpbmd5YXdzLmNvbSIsImNvbnRleHRfdHlwZSI6IkNvdXJzZSIsImNvbnRleHRfaWQiOjEwMDAwMDAwMDAwMDAxLCJleHAiOjE2MDU1NDQxNDl9.Uqb1fM2RXw7g3qG4u8qR1YJQN5GZpMLGc86aYM-1nS8
nonce=nonce-5fb2a7ab35d633.50088451
prompt=none
redirect_uri=https%3A%2F%2Fmy.tool.domain%2Flti1p3%2Flaunch%2F981
response_mode=form_post
response_type=id_token
scope=openid
state=state-5fb2a7ab35d323_32533045
This last GET to the /api/lti/authorize endpoint returns a 500 with the following response body:
while(1);{"errors":[{"message":"An error occurred.","error_code":"internal_server_error"}],"error_report_id":142}
I thought I had come across another post that explained how to view error reports when logged into Canvas as an admin, but I can't find that any longer. Things are definitely going in the right direction, but I'm now just running into the next brick wall.