Jump to content

Page doesn´t reload: 304 status code


alexxx

Recommended Posts

Hi,

 

after upgrading the emby server to the current 3.1.0.0-version, the page only loads the first time in any browser (Firefox, Chrome, Edge, Edge on Windows Mobile). If I hit F5 after the first load of the page, it shows only a black screen (the emby background) or at a maximum the colored circling circle.

It seems, that the server now sends a 304 status code ("nothing changed since the last time"), which wasn´t sent in older versions. And it doesn´t work in the new server-version for whatever reason. After I reset the cache it works again. But no chance that it works with a Ctrl+F5 (should reload the total page again without cache).

 

How do I suppress the 304 status codes, so the browser will reload the entire page or how do I else fix the error? Or how can I downgrade to version 3.0.8500 again?

I use Debian 8 (sid) in a VM behind a Router-VM, which worked really nice in the previous version.

Thank you!

post-174892-0-62945900-1482112348_thumb.png

Link to comment
Share on other sites

The only error that comes up is the warning, that the line 101 in navdrawer.js is not reachable. (cause "require(['hammer-main'], initEdgeSwipeInternal);" stands after the return-statement)

All other output seems only to be for logging purposes. I attached the entire output of the Firefox50-Console below

Begin ConnectionManager constructor  connectionmanager.js:38:9
loading ApiClient singleton  site.js:1051:29
creating ApiClient singleton  site.js:1055:33
"ApiClient serverAddress: https://emby.mydomain.com"  apiclient.js:16:9
ApiClient clientName: Emby Mobile  apiclient.js:17:9
ApiClient applicationVersion: 3.1.0.0  apiclient.js:18:9
ApiClient deviceName: Firefox 50.0  apiclient.js:19:9
ApiClient deviceId: 02045902b2e50c1e34ff6ff12b0b79d75427e287  apiclient.js:20:9
credentials initialized with: {"Servers":[{"DateLastAccessed":1482151341908,"LastConnectionMode":2,"ManualAddress":"https://emby.mydomain.com","Id":"bc7ed05abedd4102af2b3e902a9d1d2e","UserId":"ad93b072d928492e9db994f1b348c5d0","AccessToken":"7da72debdb6b4686b3d83e84ee57086b","Users":[{"Id":"ad93b072d928492e9db994f1b348c5d0","IsSignedInOffline":true}],"Name":"milchstrasse","LocalAddress":"http://192.168.200.2:8096","RemoteAddress":"http://emby.mydomain.com:443","WakeOnLanInfos":[{"MacAddress":"00-0C-29-E0-8D-71"}]}]}  credentials.js:16:17
loaded ApiClient singleton  site.js:1063:33
initAfterDependencies promises resolved  site.js:1787:17
Beginning MediaController.init  mediacontroller.js:1043:9
Begin onAppReady  site.js:2645:9
onAppReady - loading dependencies  site.js:2674:9
Active player: {"name":"Mein Gerät","id":"02045902b2e50c1e34ff6ff12b0b79d75427e287","playerName":"Html5 Player","playableMediaTypes":["Audio","Video"],"isLocalPlayer":true,"supportedCommands":["GoHome","GoToSettings","VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","DisplayContent","GoToSearch","DisplayMessage","SetRepeatMode"]}  mediacontroller.js:287:13
Setting page base to /web  router.js:605:9
Loaded dependencies in onAppReady  site.js:2678:13
Defining core routes  site.js:1863:9
Defining route: /addplugin.html  site.js:1855:9
Defining route: /appservices.html  site.js:1855:9
Defining route: /autoorganizelog.html  site.js:1855:9
Defining route: /autoorganizesmart.html  site.js:1855:9
Defining route: /autoorganizetv.html  site.js:1855:9
Defining route: /channelitems.html  site.js:1855:9
Defining route: /channels.html  site.js:1855:9
Defining route: /channelsettings.html  site.js:1855:9
Defining route: /cinemamodeconfiguration.html  site.js:1855:9
Defining route: /connectlogin.html  site.js:1855:9
Defining route: /dashboard.html  site.js:1855:9
Defining route: /dashboardgeneral.html  site.js:1855:9
Defining route: /dashboardhosting.html  site.js:1855:9
Defining route: /device.html  site.js:1855:9
Defining route: /devices.html  site.js:1855:9
Defining route: /devicesupload.html  site.js:1855:9
Defining route: /dlnaprofile.html  site.js:1855:9
Defining route: /dlnaprofiles.html  site.js:1855:9
Defining route: /dlnaserversettings.html  site.js:1855:9
Defining route: /dlnasettings.html  site.js:1855:9
Defining route: /edititemmetadata.html  site.js:1855:9
Defining route: /encodingsettings.html  site.js:1855:9
Defining route: /favorites.html  site.js:1855:9
Defining route: /forgotpassword.html  site.js:1855:9
Defining route: /forgotpasswordpin.html  site.js:1855:9
Defining route: /gamegenres.html  site.js:1855:9
Defining route: /games.html  site.js:1855:9
Defining route: /gamesrecommended.html  site.js:1855:9
Defining route: /gamestudios.html  site.js:1855:9
Defining route: /gamesystems.html  site.js:1855:9
Defining route: /home.html  site.js:1855:9
Defining route: /index.html  site.js:1855:9
Defining route: /itemdetails.html  site.js:1855:9
Defining route: /itemlist.html  site.js:1855:9
Defining route: /kids.html  site.js:1855:9
Defining route: /library.html  site.js:1855:9
Defining route: /librarydisplay.html  site.js:1855:9
Defining route: /librarysettings.html  site.js:1855:9
Defining route: /livetv.html  site.js:1855:9
Defining route: /livetvguideprovider.html  site.js:1855:9
Defining route: /livetvitems.html  site.js:1855:9
Defining route: /livetvseriestimer.html  site.js:1855:9
Defining route: /livetvsettings.html  site.js:1855:9
Defining route: /livetvstatus.html  site.js:1855:9
Defining route: /livetvtunerprovider-hdhomerun.html  site.js:1855:9
Defining route: /livetvtunerprovider-m3u.html  site.js:1855:9
Defining route: /livetvtunerprovider-satip.html  site.js:1855:9
Defining route: /log.html  site.js:1855:9
Defining route: /login.html  site.js:1855:9
Defining route: /metadata.html  site.js:1855:9
Defining route: /metadataadvanced.html  site.js:1855:9
Defining route: /metadataimages.html  site.js:1855:9
Defining route: /metadatanfo.html  site.js:1855:9
Defining route: /metadatasubtitles.html  site.js:1855:9
Defining route: /movies.html  site.js:1855:9
Defining route: /music.html  site.js:1855:9
Defining route: /mypreferencesdisplay.html  site.js:1855:9
Defining route: /mypreferenceshome.html  site.js:1855:9
Defining route: /mypreferenceslanguages.html  site.js:1855:9
Defining route: /mypreferencesmenu.html  site.js:1855:9
Defining route: /myprofile.html  site.js:1855:9
Defining route: /mysync.html  site.js:1855:9
Defining route: /camerauploadsettings.html  site.js:1855:9
Defining route: /mysyncjob.html  site.js:1855:9
Defining route: /mysyncsettings.html  site.js:1855:9
Defining route: /notificationlist.html  site.js:1855:9
Defining route: /notificationsetting.html  site.js:1855:9
Defining route: /notificationsettings.html  site.js:1855:9
Defining route: /nowplaying.html  site.js:1855:9
Defining route: /photos.html  site.js:1855:9
Defining route: /playbackconfiguration.html  site.js:1855:9
Defining route: /playlists.html  site.js:1855:9
Defining route: /plugincatalog.html  site.js:1855:9
Defining route: /plugins.html  site.js:1855:9
Defining route: /reports.html  site.js:1855:9
Defining route: /scheduledtask.html  site.js:1855:9
Defining route: /scheduledtasks.html  site.js:1855:9
Defining route: /search.html  site.js:1855:9
Defining route: /secondaryitems.html  site.js:1855:9
Defining route: /selectserver.html  site.js:1855:9
Defining route: /serversecurity.html  site.js:1855:9
Defining route: /shared.html  site.js:1855:9
Defining route: /streamingsettings.html  site.js:1855:9
Defining route: /support.html  site.js:1855:9
Defining route: /supporterkey.html  site.js:1855:9
Defining route: /syncactivity.html  site.js:1855:9
Defining route: /syncjob.html  site.js:1855:9
Defining route: /syncsettings.html  site.js:1855:9
Defining route: /tv.html  site.js:1855:9
Defining route: /useredit.html  site.js:1855:9
Defining route: /userlibraryaccess.html  site.js:1855:9
Defining route: /usernew.html  site.js:1855:9
Defining route: /userparentalcontrol.html  site.js:1855:9
Defining route: /userpassword.html  site.js:1855:9
Defining route: /userprofiles.html  site.js:1855:9
Defining route: /wizardagreement.html  site.js:1855:9
Defining route: /wizardcomponents.html  site.js:1855:9
Defining route: /wizardfinish.html  site.js:1855:9
Defining route: /wizardlibrary.html  site.js:1855:9
Defining route: /wizardlivetvguide.html  site.js:1855:9
Defining route: /wizardlivetvtuner.html  site.js:1855:9
Defining route: /wizardsettings.html  site.js:1855:9
Defining route: /wizardstart.html  site.js:1855:9
Defining route: /wizarduser.html  site.js:1855:9
Defining route: /configurationpage  site.js:1855:9
Defining route: /  site.js:1855:9
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Plugins/SecurityInfo"  apiclient.js:306:17
Begin connect  connectionmanager.js:912:13
Begin getAvailableServers  connectionmanager.js:815:13
Begin getConnectServers  connectionmanager.js:763:13
unreachable code after return statement[Weitere Informationen]  navdrawer.js:101:12
Begin connectToServers, with 1 servers  connectionmanager.js:927:13
begin connectToServer  connectionmanager.js:988:13
beginning connection tests  connectionmanager.js:1005:17
testing connection mode 2 with server milchstrasse  connectionmanager.js:1079:13
"tryConnect url: https://emby.mydomain.com/emby/system/info/public"  connectionmanager.js:201:13
"ConnectionManager requesting url: https://emby.mydomain.com/emby/system/info/public"  connectionmanager.js:173:13
"fetchWithTimeout: timeoutMs: 20000, url: https://emby.mydomain.com/emby/system/info/public"  connectionmanager.js:124:13
"fetchWithTimeout: succeeded connecting to url: https://emby.mydomain.com/emby/system/info/public"  connectionmanager.js:136:21
"ConnectionManager response status: 200, url: https://emby.mydomain.com/emby/system/info/public"  connectionmanager.js:177:17
calling onSuccessfulConnection with connection mode 2 with server milchstrasse  connectionmanager.js:1098:21
"ConnectionManager requesting url: https://emby.mydomain.com/emby/System/Info"  connectionmanager.js:173:13
"ConnectionManager response status: 200, url: https://emby.mydomain.com/emby/System/Info"  connectionmanager.js:177:17
"ConnectionManager requesting url: https://emby.mydomain.com/emby/users/ad93b072d928492e9db994f1b348c5d0"  connectionmanager.js:173:13
"ConnectionManager response status: 200, url: https://emby.mydomain.com/emby/users/ad93b072d928492e9db994f1b348c5d0"  connectionmanager.js:177:17
returning instance from getOrAddApiClient  connectionmanager.js:381:13
"Requesting url without automatic networking: https://emby.mydomain.com/emby/DisplayPreferences/usersettings?userId=ad93b072d928492e9db994f1b348c5d0&client=emby"  apiclient.js:306:17
returning instance from getOrAddApiClient  connectionmanager.js:381:13
Begin updateServerInfo. connectionMode: 2  apiclient.js:542:13
"Setting server address to https://emby.mydomain.com"  apiclient.js:551:13
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Sessions/Capabilities/Full"  apiclient.js:306:17
calling apiClient.ensureWebSocket  connectionmanager.js:453:17
resolving connectToServers with result.State: 3  connectionmanager.js:940:21
embyRouter - processing path request /web/index.html  router.js:283:9
embyRouter - user is authenticated  router.js:304:13
embyRouter - loading skin home page  router.js:311:17
embyRouter - processing path request /web/home.html  router.js:283:9
embyRouter - user is authenticated  router.js:304:13
embyRouter - proceeding to /web/home.html  router.js:325:9
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/DisplayPreferences/home?userId=ad93b072d928492e9db994f1b348c5d0&client=webclient"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0"  apiclient.js:306:17
web socket connection opened  apiclient.js:607:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Views"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Views"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Items?SortBy=DatePlayed&SortOrder=Descending&MediaTypes=Video&Filters=IsResumable&Limit=5&Recursive=true&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&CollapseBoxSetItems=false&ExcludeLocationTypes=Virtual&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb&EnableTotalRecordCount=false"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Shows/NextUp?Limit=10&Fields=PrimaryImageAspectRatio%2CSeriesInfo%2CDateCreated%2CBasicSyncInfo&UserId=ad93b072d928492e9db994f1b348c5d0&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Views"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/LiveTv/Recordings?userId=ad93b072d928492e9db994f1b348c5d0&limit=5&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&IsInProgress=false&EnableTotalRecordCount=false"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Items/Latest?Limit=12&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=7a2175bccb1f1a94152cbd2b2bae8f6d"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Items/Latest?Limit=12&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=43cfe12fe7d9d8d21251e0964e0232e2"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Users/ad93b072d928492e9db994f1b348c5d0/Items/Latest?Limit=12&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=4cab2dff9053a50487d70135330fcbb5"  apiclient.js:306:17
"Requesting url without automatic networking: https://emby.mydomain.com/emby/Playback/BitrateTest?Size=100000"

Additionally, the server-debug-log is attached below.

I use a Apache ReverseProxy to tunnel the requests to the Emby-VM. I forward the normal traffic as well as the websocket-traffic.

	ProxyRequests Off
    	<Proxy *>
        	Order deny,allow
        	Allow from all
    	</Proxy>

        #ProxyPreserveHost on
    	ProxyPass /embywebsocket ws://192.168.200.2:8096/embywebsocket
	ProxyPassReverse /embywebsocket ws://192.168.200.2:8096/embywebsocket
    	ProxyPass / http://192.168.200.2:8096/
    	ProxyPassReverse / http://192.168.200.2:8096/

Thank you! :)

debuglog.txt

Link to comment
Share on other sites

Guest plexman

I have the same problem, the home page doesn't load and I see the circle forever. But if I go in the profile section and then come back, it works. I can't provide any logs now because I'm outside, I'm just reporting the same. I also have apache as reverse proxy.

Link to comment
Share on other sites

Need to provide more info. It's only going to send 304 if the client issued an if modified since request. This is probably not the actual issue and it's most likely something else.

Link to comment
Share on other sites

dcrdev

Ok only things I can see are

 

a) It's trying to serve insecure content from the local unsecured ip address when accessing over the external secure address. Namely these resources: /emby/system/info/public and /emby/Branding/Css.css?v=3.1.0.0

B) Looks like something to do with encoding has changed i'm getting these "ERR_INCOMPLETE_CHUNKED_ENCODING" all over the place. Has something changed that could alter the content-length header?

 

Also getting: "Uncaught (in promise) TypeError: Failed to fetch".

Link to comment
Share on other sites

dcrdev

Ok one complete ouput:

connectionmanager.js?v=3.1.0.0:38 Begin ConnectionManager constructor
site.js?v=3.1.0.0:1051 loading ApiClient singleton
site.js?v=3.1.0.0:1055 creating ApiClient singleton
apiclient.js?v=3.1.0.0:16 ApiClient serverAddress: https://emby.mydomain.net:443
apiclient.js?v=3.1.0.0:17 ApiClient clientName: Emby Mobile
apiclient.js?v=3.1.0.0:18 ApiClient applicationVersion: 3.1.0.0
apiclient.js?v=3.1.0.0:19 ApiClient deviceName: Chrome 55.0.2883.87
apiclient.js?v=3.1.0.0:20 ApiClient deviceId: 27adcb5ef3357fff53c8fde12b18977f26200e87
credentials.js?v=3.1.0.0:16 credentials initialized with: {"Servers":[{"DateLastAccessed":1482188158171,"LastConnectionMode":2,"ManualAddress":"https://emby.mydomain.net:443","Id":"f214cad4eac14f8fbcfb23a3d04b2bb8","Name":"loc01-serv01","LocalAddress":"http://192.168.1.2:8096","RemoteAddress":"https://emby.mydomain.net:443","UserId":"df2477101c004ff5a290e9b92d84792e","AccessToken":"216666e845ec4c42b84b4a237b4af8b1","Users":[{"Id":"df2477101c004ff5a290e9b92d84792e","IsSignedInOffline":true}],"WakeOnLanInfos":[{"MacAddress":"D8-CB-8A-55-65-E9"}]}]}
site.js?v=3.1.0.0:1063 loaded ApiClient singleton
site.js?v=3.1.0.0:1787 initAfterDependencies promises resolved
mediacontroller.js?v=3.1.0.0:1043 Beginning MediaController.init
site.js?v=3.1.0.0:2645 Begin onAppReady
site.js?v=3.1.0.0:2674 onAppReady - loading dependencies
mediacontroller.js?v=3.1.0.0:287 Active player: {"name":"My Device","id":"27adcb5ef3357fff53c8fde12b18977f26200e87","playerName":"Html5 Player","playableMediaTypes":["Audio","Video"],"isLocalPlayer":true,"supportedCommands":["GoHome","GoToSettings","VolumeUp","VolumeDown","Mute","Unmute","ToggleMute","SetVolume","SetAudioStreamIndex","SetSubtitleStreamIndex","DisplayContent","GoToSearch","DisplayMessage","SetRepeatMode"]}
router.js?v=3.1.0.0:605 Setting page base to /web
site.js?v=3.1.0.0:2678 Loaded dependencies in onAppReady
site.js?v=3.1.0.0:1863 Defining core routes
site.js?v=3.1.0.0:1855 Defining route: /addplugin.html
site.js?v=3.1.0.0:1855 Defining route: /appservices.html
site.js?v=3.1.0.0:1855 Defining route: /autoorganizelog.html
site.js?v=3.1.0.0:1855 Defining route: /autoorganizesmart.html
site.js?v=3.1.0.0:1855 Defining route: /autoorganizetv.html
site.js?v=3.1.0.0:1855 Defining route: /channelitems.html
site.js?v=3.1.0.0:1855 Defining route: /channels.html
site.js?v=3.1.0.0:1855 Defining route: /channelsettings.html
site.js?v=3.1.0.0:1855 Defining route: /cinemamodeconfiguration.html
site.js?v=3.1.0.0:1855 Defining route: /connectlogin.html
site.js?v=3.1.0.0:1855 Defining route: /dashboard.html
site.js?v=3.1.0.0:1855 Defining route: /dashboardgeneral.html
site.js?v=3.1.0.0:1855 Defining route: /dashboardhosting.html
site.js?v=3.1.0.0:1855 Defining route: /device.html
site.js?v=3.1.0.0:1855 Defining route: /devices.html
site.js?v=3.1.0.0:1855 Defining route: /devicesupload.html
site.js?v=3.1.0.0:1855 Defining route: /dlnaprofile.html
site.js?v=3.1.0.0:1855 Defining route: /dlnaprofiles.html
site.js?v=3.1.0.0:1855 Defining route: /dlnaserversettings.html
site.js?v=3.1.0.0:1855 Defining route: /dlnasettings.html
site.js?v=3.1.0.0:1855 Defining route: /edititemmetadata.html
site.js?v=3.1.0.0:1855 Defining route: /encodingsettings.html
site.js?v=3.1.0.0:1855 Defining route: /favorites.html
site.js?v=3.1.0.0:1855 Defining route: /forgotpassword.html
site.js?v=3.1.0.0:1855 Defining route: /forgotpasswordpin.html
site.js?v=3.1.0.0:1855 Defining route: /gamegenres.html
site.js?v=3.1.0.0:1855 Defining route: /games.html
site.js?v=3.1.0.0:1855 Defining route: /gamesrecommended.html
site.js?v=3.1.0.0:1855 Defining route: /gamestudios.html
site.js?v=3.1.0.0:1855 Defining route: /gamesystems.html
site.js?v=3.1.0.0:1855 Defining route: /home.html
site.js?v=3.1.0.0:1855 Defining route: /index.html
site.js?v=3.1.0.0:1855 Defining route: /itemdetails.html
site.js?v=3.1.0.0:1855 Defining route: /itemlist.html
site.js?v=3.1.0.0:1855 Defining route: /kids.html
site.js?v=3.1.0.0:1855 Defining route: /library.html
site.js?v=3.1.0.0:1855 Defining route: /librarydisplay.html
site.js?v=3.1.0.0:1855 Defining route: /librarysettings.html
site.js?v=3.1.0.0:1855 Defining route: /livetv.html
site.js?v=3.1.0.0:1855 Defining route: /livetvguideprovider.html
site.js?v=3.1.0.0:1855 Defining route: /livetvitems.html
site.js?v=3.1.0.0:1855 Defining route: /livetvseriestimer.html
site.js?v=3.1.0.0:1855 Defining route: /livetvsettings.html
site.js?v=3.1.0.0:1855 Defining route: /livetvstatus.html
site.js?v=3.1.0.0:1855 Defining route: /livetvtunerprovider-hdhomerun.html
site.js?v=3.1.0.0:1855 Defining route: /livetvtunerprovider-m3u.html
site.js?v=3.1.0.0:1855 Defining route: /livetvtunerprovider-satip.html
site.js?v=3.1.0.0:1855 Defining route: /log.html
site.js?v=3.1.0.0:1855 Defining route: /login.html
site.js?v=3.1.0.0:1855 Defining route: /metadata.html
site.js?v=3.1.0.0:1855 Defining route: /metadataadvanced.html
site.js?v=3.1.0.0:1855 Defining route: /metadataimages.html
site.js?v=3.1.0.0:1855 Defining route: /metadatanfo.html
site.js?v=3.1.0.0:1855 Defining route: /metadatasubtitles.html
site.js?v=3.1.0.0:1855 Defining route: /movies.html
site.js?v=3.1.0.0:1855 Defining route: /music.html
site.js?v=3.1.0.0:1855 Defining route: /mypreferencesdisplay.html
site.js?v=3.1.0.0:1855 Defining route: /mypreferenceshome.html
site.js?v=3.1.0.0:1855 Defining route: /mypreferenceslanguages.html
site.js?v=3.1.0.0:1855 Defining route: /mypreferencesmenu.html
site.js?v=3.1.0.0:1855 Defining route: /myprofile.html
site.js?v=3.1.0.0:1855 Defining route: /mysync.html
site.js?v=3.1.0.0:1855 Defining route: /camerauploadsettings.html
site.js?v=3.1.0.0:1855 Defining route: /mysyncjob.html
site.js?v=3.1.0.0:1855 Defining route: /mysyncsettings.html
site.js?v=3.1.0.0:1855 Defining route: /notificationlist.html
site.js?v=3.1.0.0:1855 Defining route: /notificationsetting.html
site.js?v=3.1.0.0:1855 Defining route: /notificationsettings.html
site.js?v=3.1.0.0:1855 Defining route: /nowplaying.html
site.js?v=3.1.0.0:1855 Defining route: /photos.html
site.js?v=3.1.0.0:1855 Defining route: /playbackconfiguration.html
site.js?v=3.1.0.0:1855 Defining route: /playlists.html
site.js?v=3.1.0.0:1855 Defining route: /plugincatalog.html
site.js?v=3.1.0.0:1855 Defining route: /plugins.html
site.js?v=3.1.0.0:1855 Defining route: /reports.html
site.js?v=3.1.0.0:1855 Defining route: /scheduledtask.html
site.js?v=3.1.0.0:1855 Defining route: /scheduledtasks.html
site.js?v=3.1.0.0:1855 Defining route: /search.html
site.js?v=3.1.0.0:1855 Defining route: /secondaryitems.html
site.js?v=3.1.0.0:1855 Defining route: /selectserver.html
site.js?v=3.1.0.0:1855 Defining route: /serversecurity.html
site.js?v=3.1.0.0:1855 Defining route: /shared.html
site.js?v=3.1.0.0:1855 Defining route: /streamingsettings.html
site.js?v=3.1.0.0:1855 Defining route: /support.html
site.js?v=3.1.0.0:1855 Defining route: /supporterkey.html
site.js?v=3.1.0.0:1855 Defining route: /syncactivity.html
site.js?v=3.1.0.0:1855 Defining route: /syncjob.html
site.js?v=3.1.0.0:1855 Defining route: /syncsettings.html
site.js?v=3.1.0.0:1855 Defining route: /tv.html
site.js?v=3.1.0.0:1855 Defining route: /useredit.html
site.js?v=3.1.0.0:1855 Defining route: /userlibraryaccess.html
site.js?v=3.1.0.0:1855 Defining route: /usernew.html
site.js?v=3.1.0.0:1855 Defining route: /userparentalcontrol.html
site.js?v=3.1.0.0:1855 Defining route: /userpassword.html
site.js?v=3.1.0.0:1855 Defining route: /userprofiles.html
site.js?v=3.1.0.0:1855 Defining route: /wizardagreement.html
site.js?v=3.1.0.0:1855 Defining route: /wizardcomponents.html
site.js?v=3.1.0.0:1855 Defining route: /wizardfinish.html
site.js?v=3.1.0.0:1855 Defining route: /wizardlibrary.html
site.js?v=3.1.0.0:1855 Defining route: /wizardlivetvguide.html
site.js?v=3.1.0.0:1855 Defining route: /wizardlivetvtuner.html
site.js?v=3.1.0.0:1855 Defining route: /wizardsettings.html
site.js?v=3.1.0.0:1855 Defining route: /wizardstart.html
site.js?v=3.1.0.0:1855 Defining route: /wizarduser.html
site.js?v=3.1.0.0:1855 Defining route: /configurationpage
site.js?v=3.1.0.0:1855 Defining route: /
apiclient.js?v=3.1.0.0:306 Requesting url without automatic networking: https://emby.mydomain.net:443/emby/Plugins/SecurityInfo
connectionmanager.js?v=3.1.0.0:912 Begin connect
connectionmanager.js?v=3.1.0.0:815 Begin getAvailableServers
connectionmanager.js?v=3.1.0.0:763 Begin getConnectServers
connectionmanager.js?v=3.1.0.0:927 Begin connectToServers, with 1 servers
connectionmanager.js?v=3.1.0.0:988 begin connectToServer
connectionmanager.js?v=3.1.0.0:1005 beginning connection tests
connectionmanager.js?v=3.1.0.0:1079 testing connection mode 2 with server loc01-serv01
connectionmanager.js?v=3.1.0.0:201 tryConnect url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:173 ConnectionManager requesting url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:124 fetchWithTimeout: timeoutMs: 20000, url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:136 fetchWithTimeout: succeeded connecting to url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:177 ConnectionManager response status: 200, url: https://emby.mydomain.net:443/emby/system/info/public
chromecast.js?v=3.1.0.0:114 chromecast.initialize
chromecast.js?v=3.1.0.0:125 chromecast init success
chromecast.js?v=3.1.0.0:202 chromecast receiver list empty
connectionmanager.js?v=3.1.0.0:133 GET https://emby.mydomain.net:443/emby/system/info/public net::ERR_INCOMPLETE_CHUNKED_ENCODING
(anonymous) @ connectionmanager.js?v=3.1.0.0:133
fetchWithTimeout @ connectionmanager.js?v=3.1.0.0:126
getFetchPromise @ connectionmanager.js?v=3.1.0.0:119
ajax @ connectionmanager.js?v=3.1.0.0:175
tryConnect @ connectionmanager.js?v=3.1.0.0:203
testNextConnectionMode @ connectionmanager.js?v=3.1.0.0:1081
(anonymous) @ connectionmanager.js?v=3.1.0.0:1006
ConnectionManager.self.connectToServer @ connectionmanager.js?v=3.1.0.0:990
ConnectionManager.self.connectToServers @ connectionmanager.js?v=3.1.0.0:931
(anonymous) @ connectionmanager.js?v=3.1.0.0:916
connectionmanager.js?v=3.1.0.0:1104 test failed for connection mode 2 with server loc01-serv01
connectionmanager.js?v=3.1.0.0:1079 testing connection mode 0 with server loc01-serv01
connectionmanager.js?v=3.1.0.0:201 tryConnect url: http://192.168.1.2:8096/emby/system/info/public
connectionmanager.js?v=3.1.0.0:173 ConnectionManager requesting url: http://192.168.1.2:8096/emby/system/info/public
connectionmanager.js?v=3.1.0.0:124 fetchWithTimeout: timeoutMs: 8000, url: http://192.168.1.2:8096/emby/system/info/public
connectionmanager.js?v=3.1.0.0:133 Mixed Content: The page at 'https://emby.mydomain.net:443/web/index.html' was loaded over HTTPS, but requested an insecure resource 'http://192.168.1.2:8096/emby/system/info/public'. This request has been blocked; the content must be served over HTTPS.
(anonymous) @ connectionmanager.js?v=3.1.0.0:133
fetchWithTimeout @ connectionmanager.js?v=3.1.0.0:126
getFetchPromise @ connectionmanager.js?v=3.1.0.0:119
ajax @ connectionmanager.js?v=3.1.0.0:175
tryConnect @ connectionmanager.js?v=3.1.0.0:203
testNextConnectionMode @ connectionmanager.js?v=3.1.0.0:1081
(anonymous) @ connectionmanager.js?v=3.1.0.0:1113
connectionmanager.js?v=3.1.0.0:133 Fetch API cannot load http://192.168.1.2:8096/emby/system/info/public. Failed to start loading.
(anonymous) @ connectionmanager.js?v=3.1.0.0:133
fetchWithTimeout @ connectionmanager.js?v=3.1.0.0:126
getFetchPromise @ connectionmanager.js?v=3.1.0.0:119
ajax @ connectionmanager.js?v=3.1.0.0:175
tryConnect @ connectionmanager.js?v=3.1.0.0:203
testNextConnectionMode @ connectionmanager.js?v=3.1.0.0:1081
(anonymous) @ connectionmanager.js?v=3.1.0.0:1113
connectionmanager.js?v=3.1.0.0:143 fetchWithTimeout: timed out connecting to url: http://192.168.1.2:8096/emby/system/info/public
connectionmanager.js?v=3.1.0.0:192 ConnectionManager request failed to url: http://192.168.1.2:8096/emby/system/info/public
connectionmanager.js?v=3.1.0.0:1104 test failed for connection mode 0 with server loc01-serv01
connectionmanager.js?v=3.1.0.0:1079 testing connection mode 1 with server loc01-serv01
connectionmanager.js?v=3.1.0.0:201 tryConnect url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:173 ConnectionManager requesting url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:124 fetchWithTimeout: timeoutMs: 20000, url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:136 fetchWithTimeout: succeeded connecting to url: https://emby.mydomain.net:443/emby/system/info/public
connectionmanager.js?v=3.1.0.0:177 ConnectionManager response status: 200, url: https://emby.mydomain.net:443/emby/system/info/public
Link to comment
Share on other sites

I think, with "network tab" you mean this one?

I changed the http (unencrypted) Port

58586a233db4a_network.png

 

To be a little more detailed about my setup:

I have a VMWare ESXi host. At the moment it hosts 2 VMs: One RouterVM and an emby-only VM. The Router-VM has 2 network interfaces: one server-internal and one external.

With the internal interface it serves the VMs with network access. I need it because I only can get one external public IP address. The RouterVM provides an only encrypted (SSL) accessible Apache ReverseProxy (2.4.23) which forward to the unencrypted emby-Port from the emby-VM.

This setup worked fantastic with the previous version of emby.

Link to comment
Share on other sites

In the network tab of the browser debugger can you get the full info about one of those http requests that is failing with the chunked encoding error. if you click on the request you can see all the headers and everything. thanks.

Link to comment
Share on other sites

dcrdev

@@Luke

General
-----------
Request URL:https://emby.mydomain.net/emby/system/info/public
Request Method:GET
Status Code:200 OK
Remote Address:192.168.1.2:443

Response Headers
------------------
Connection:Keep-Alive
Date:Tue, 20 Dec 2016 12:16:43 GMT
Keep-Alive:timeout=5, max=98
Server:Mono-HTTPAPI/1.1, UPnP/1.0 DLNADOC/1.50
Strict-Transport-Security:max-age=15768000
Transfer-Encoding:chunked
Vary:Host

Request Headers
----------------
accept:application/json
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
DNT:1
Host:emby.mydomain.net
Referer:https://emby.mydomain.net/web/index.html
User-Agent:Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36

I'm just speculating here - but doesn't the client need to explicitly receive a content-length header when dealing with gzip, otherwise it can't differentiate between delay and the end of the chunk? Emby seems to be sending out that header for some content, but not all...

Edited by dcrdev
Link to comment
Share on other sites

Freshman

For me, using similar setup with Emby server on Ubuntu 16.10 behind HAproxy, Emby web interface won't load at all. Jumping back to previous version (restoring ESXI snapshot) everything works again, after updating Emby to 3.1 it is broken. I can access Emby 3.1 directly locally on HTTP, but can't access it through HAproxy, even though HAproxy is accessing Emby backend on that same HTTP port. HAproxy is then doing the HTTPS with LetsEncrypt certs.

  • Like 1
Link to comment
Share on other sites

I had the same experience: Forwarding the (unencrypted) Port of emby for public access: It works, even reloading with F5.

But if I´m using it with the Apache ReverseProxy it still don´t work. Only after a series of Ctrl+F5 the site is displayed correctly.

 

Below the relevant part of my Apache-config. As I wrote, it worked perfectly until I updated to emby 3.1.

<VirtualHost *:443>
    	ServerName emby.mydomain.com
	ServerAlias public.emby.mydomain.com
    	Header always add Strict-Transport-Security "max-age=15768000"

	ProxyRequests Off
    	<Proxy *>
        	Order allow,deny
        	Allow from all
    	</Proxy>

        #ProxyPreserveHost on
    	ProxyPass /embywebsocket ws://192.168.200.2:8096/embywebsocket
	ProxyPassReverse /embywebsocket ws://192.168.200.2:8096/embywebsocket
    	ProxyPass / http://192.168.200.2:8096/
    	ProxyPassReverse / http://192.168.200.2:8096/

    	SSLEngine on
    	SSLCertificateFile /etc/apache2/ssl/public.emby.mydomain.com.crt
    	SSLCertificateKeyFile /etc/apache2/ssl/public.emby.mydomain.com.key
    	SSLCertificateChainFile /etc/apache2/ssl/ca-certs.pem
    	SSLCACertificateFile /etc/apache2/ssl/ca.pem
    	#SSLUseStapling on

    	Options -Indexes
    	ErrorLog ${APACHE_LOG_DIR}/emby-error.log
    	CustomLog ${APACHE_LOG_DIR}/emby-access.log combined
</VirtualHost>
Edited by alexxx
  • Like 1
Link to comment
Share on other sites

 

I had the same experience: Forwarding the (unencrypted) Port of emby for public access: It works, even reloading with F5.

But if I´m using it with the Apache ReverseProxy it still don´t work. Only after a series of Ctrl+F5 the site is displayed correctly.

 

Below the relevant part of my Apache-config. As I wrote, it worked perfectly until I updated to emby 3.1.

<VirtualHost *:443>
    	ServerName emby.mydomain.com
	ServerAlias public.emby.mydomain.com
    	Header always add Strict-Transport-Security "max-age=15768000"

	ProxyRequests Off
    	<Proxy *>
        	Order allow,deny
        	Allow from all
    	</Proxy>

        #ProxyPreserveHost on
    	ProxyPass /embywebsocket ws://192.168.200.2:8096/embywebsocket
	ProxyPassReverse /embywebsocket ws://192.168.200.2:8096/embywebsocket
    	ProxyPass / http://192.168.200.2:8096/
    	ProxyPassReverse / http://192.168.200.2:8096/

    	SSLEngine on
    	SSLCertificateFile /etc/apache2/ssl/public.emby.mydomain.com.crt
    	SSLCertificateKeyFile /etc/apache2/ssl/public.emby.mydomain.com.key
    	SSLCertificateChainFile /etc/apache2/ssl/ca-certs.pem
    	SSLCACertificateFile /etc/apache2/ssl/ca.pem
    	#SSLUseStapling on

    	Options -Indexes
    	ErrorLog ${APACHE_LOG_DIR}/emby-error.log
    	CustomLog ${APACHE_LOG_DIR}/emby-access.log combined
</VirtualHost>

 

+1

 

Same problem. Only happening using the reverse proxy. If the server is accessed directly no problem at all.

Link to comment
Share on other sites

I thought I would report in and say that I am using IIS on Windows as a reverse proxy and Emby continues to work for me after updating to 3.1.0.  It must be something specific to Linux, Apache, or HAProxy in this case and not reverse proxies in general.

Link to comment
Share on other sites

@@tigrao, thanks for the feedback. Yes I don't think we can say at this point that all reverse proxy software is impacted, but it appears that some are.

Link to comment
Share on other sites

dcrdev

Ok I now believe there is some kind of race occurring between each request and serviceworker.js which is causing a timeout in some browsers.

 

I don't have an ideal solution but - for now you can close the connection forcefully after each request is made.

 

For Apache this is done via the environment variables:

SetEnv proxy-nokeepalive 1

SetEnv proxy-sendchunked 1
 
I've not done much testing - but the web interface refreshed about 50 times in a row. 
 
Also playback won't work initially - you'll have to disable the Christmas theme; I believe that is because mono is sending out a CORS header and the christmas theme music is hosted at raw.githubusercontent.com which has no CORS header.
 
Edit: To elaborate ^ it's requesting a javascript resource, not getting it and that's resulting in an undefined '$' error.
Edited by dcrdev
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...