At some point your install got corrupted it may have been in the upgrade process or it could be in the original AMI ESRI provided at 10.1. Your left with two options.
- Use only https only as you said that works. http/https redirects the unsecure request to the secure site. I don't recommend this because it does not solve the problem. And you need to find it.
- Rebuild the site which can be done quickly and do it from a new machine there are considerable differences between 10.1 and 10.3 and you can't narrow down if the bug appeared from the beginning or during the servers lifespan...This can be done really quickly:
a. install new server.
b. copy the folder /arcgis/server/usr/config-store/data from the "old server" to the "new server". This will register all of the database connections for you.
c. write a script that loops over the contents of the directory "/arcgis/server/usr/directories/arcgissystem/arcgisinput" on the "old server" and publishes the mxd to the new server. Do not copy this folder from the old one to the new one the services are more complicated than the DB sde files you will end up with problems.
this is the script
from arcpy import env
env.workspace = r"c:\xxx"
outdir = r'C:\xxx'
in_server = r"C:xxx\server.ags"
wrkspace_ssd = r"C:\xxx"
#create a list of mxd files
root = os.walk(r"xxx") #walk /arcgis/server/usr/directories/arcgissystem/arcgisinput
for file in root:
for f in file:
if f.find(".mxd") > -1:
service = f[:-4]
mxd = file + "\\" + f
sd = wrkspace_ssd + "\\" + service + '.sd'
sddraft = wrkspace_ssd + "\\" + service + '.sddraft'
ssd_draft_file = arcpy.mapping.CreateMapSDDraft(mxd, sddraft, service, 'ARCGIS_SERVER')
#analysis = arcpy.mapping.AnalyzeForSD(ssd_draft_file)
sd_final = arcpy.StageService_server(sddraft, sd)
folder = file.split('\\')
arcpy.UploadServiceDefinition_server(in_sd_file=sd, in_server=in_server, in_service_name="", in_cluster="", in_folder_type="EXISTING", in_folder=folder, in_startupType="STARTED", in_override="USE_DEFINITION", in_my_contents="NO_SHARE_ONLINE", in_public="PRIVATE", in_organization="NO_SHARE_ORGANIZATION", in_groups="")
print "CurrentService: " + service
except Exception as e:
This script is not going to create the server folders for you on the new server So either modify the script or create the folders manually on the new server based on the old server and the script will store the folder name and publish them to the "Existing" folder