google-app-engine


Google App Engine redirecting all naked domain requests, causing letsencrypt to not work


I have a GAE app and a custom domain registered on enom.com. The app is a static website that's configured by app.yaml.
I'm trying to use LetsEncrypt certs for ssl, so I want to have valid certs for both www.example.com and example.com. I can get the cert for www.example.com working fine.
However the problem is in my naked domain. Whenever a http request goes to http://example.com/, it gets redirected to http://www.example.com/, ok. But, if a http request goes to e.g. http://example.com/a.html, the request is still redirected to http://www.example.com/. So when LE servers come looking for their well-known acme-challenge, it fails because they see index.html.
I guess this isn't a common behavior because no one is mentioning this, not at https://code.google.com/p/googleappengine/issues/detail?id=10802, nor at https://github.com/certbot/certbot/issues/1480.
I've tried to dig into why this is happening, one error I can see is here:
If I select to overwrite, GAE says it "failed to insert mapping"
This whole project was started by another person and he claims he's not aware of example.com being assigned anywhere else. I've looked at his Google Cloud Console and it would seem that he's correct.
Maybe something of interest is that in the Domain page of admin.google.com, naked domain redirect is set up. It redirects example.com to www.example.com. I've not found a way to disable it.
On my dns registrar, I have input the four A records, four AAAA records, and a www for CNAME.
TL;DR: My LetsEncrypt acme-challenge is failing for my naked domain, help!
I started getting the same error in app_engine after I went to Google Apps account and added example.com to redirect to wwww.example.com. After I did this, in app_engine I got "is already mapped" error. And there was no way to undo the redirect in Google Apps, so my guess was that Google Apps had mapped it and so App Engine could not modify it or add it. I had to explain this to Support team, and btw Google Apps support is free to call, so contact them and then get transferred to App Engine support team.
There is no way to fix it yourself, you have to get Google Support on call and explain clearly and they can reset. I was bounced between Google Cloud and Google Suites (Apps) support teams 7 times and after 2 weeks finally resolved, each one blaming the other, until I found a guy who understood this issue and fixed it for me.

Related Links

Google app engine: personal experiences?
Uploading multiple files to blobstore (redux)
App Engine: Can I upload my local dev_appserver.datastore to the live datastore?
App Engine URL mapping
Sitemaps structure for large App Engine site
cheetah in appengine
Help to Upload zip file containing CSV file in GAE
Google App Engine: Using datastore with users who are not logged in
Text to HTML converter for Google App Engine
Pagination and Multiple relational entity indexes with AppEngine
time taken to upload a picture of 1M ~ 5M from iPhone to either Google AE or Amazon S3
Sending email from dev server with --smtp_host=smtp.gmail.com
Google App Engine logout url
django-nonrel google app engine order_by('?')
Trouble while sending Email using Google App Engine to Verizon (vtext.com)
Keeping track of time with 1 second accuracy in Google App Engine

Categories

HOME
notepad++
go
gridview
time-complexity
c99
github-for-windows
android-studio-2.2
apiblueprint
solver
bitbucket-api
telegram-bot
pearson-correlation
jquery-ui
code-coverage
google-cloud-datalab
barcode
computer-science
google-schemas
jsonpath
automatic-ref-counting
favicon
gkturnbasedmatch
cumulocity
vuejs
foreign-keys
oledb
asp.net-core-webapi
guzzle
springfox
ios10.2
exit
monit
google-api-client
game-theory
motion-detection
fragment-backstack
entity-relationship-model
angular-translate
exchangewebservices
constexpr
scatter3d
fossil
nested-lists
indy10
least-squares
processwire
fiware-cygnus
lint
dm-script
railstutorial.org
demo
odoo-website
sonarlint-eclipse
trojan
sundials
css-transforms
gpg-signature
google-photos
change-tracking
vcloud-director-rest-api
visual-studio-2008-sp1
atlas
webjars
drawstring
dup
clipboard.js
embedding
tracker-enabled-dbcontext
cda
phpwebsocket
cycle2
httpruntime.cache
spring-retry
vhosts
character-replacement
boomerang
file-move
pypiserver
finalbuilder
cakephp-2.7
bcache
code-documentation
mass-assignment
ssis-data-flow
device-tree
cbind
lambda-architecture
parallel-testing
grails-domain-class
grails-plugin-rabbitmq
gae-quotas
scrypt
stacky
resource-management
idn
intersect
pstack
dajaxice
adobe-media-server
fitbounds
isa-swizzling
convention
user-tracking
http-daemon
django-paypal
updatesourcetrigger
easyb
asynchronous-wcf-call
linfu-dynamicproxy
contentpresenter
mathematical-typesetting
appliance

Resources

Encrypt Message