Rangers squeezed through to a Champions League play-off against PSV Eindhoven after surviving a fraught night against Servette in sweltering Geneva.
A header from captain James Tavernier - so often Rangers' European talisman - salvaged a second-leg draw and slender aggregate win.
Rangers' 2-1 lead from Ibrox had been nullified as Dereck Kutesa whipped a wonderful finish into the top corner in a torrid first half for the visitors.
Danilo was guilty of an astonishing miss for Michael Beale's side - spooning over an open goal - but Rangers improved after the break, and substitute Cyriel Dessers ought to have made the victory more comfortable.
Rangers will host PSV, who thumped Sturm Graz 7-2 on aggregate, next Tuesday before the return in Eindhoven the following week.
A containment job was not part of Rangers' thinking in Switzerland, with Beale pledging to attack rather than look to protect on the first-leg advantage.
However, his side's sprightly start soon evaporated and they were indebted to Jack Butland for two huge saves to deny Timothe Cognat and Kutesa either side of the opener as Servette caused havoc on the counter-attack.
Danilo ought to have swiftly restored Rangers' aggregate advantage, only to somehow sclaff over the unguarded net from four yards after being picked out by Jose Cifuentes' terrific delivery. It was Brazilian striker Danilo's first - and only - touch in the Servette box during the opening 45 minutes.
The interval came as welcome relief for the visitors. They regrouped and emerged re-energised, with Tavernier pouncing at the back post to meet a superb cross from Borna Barisic and power his header past Joel Mall.
The visitors diligently limited Servette's threat thereafter and Dessers sent a header an inch too high then hit the post late on as chances to put the tie beyond doubt went begging.
Player of the match - Nicolas Raskin
The Belgian was a tigerish presence in midfield and won 13 duels - the most of any Rangers player - as the visitors turned the tideJob done but room for improvement - analysis
Rangers looked bang in trouble at half-time, but the nature of their response will hearten Beale as his reshaped side tries to find its feet.
They denied Servette space down the flanks after the break and controlled midfield, where Cifuentes looks an impressive addition and Nicolas Raskin continues to thrive.
Further forward Rangers continue to look disjointed, though, and Danilo in particular cut a forlorn figure. The Brazilian, who arrived from PSV for a hefty fee this summer, struggled to link play and his glaring miss was followed by Dessers failing to add a killer touch.
Rangers are unlikely to get away with such profligacy against PSV as they look to defeat the Dutch for the second season running to reach the group stage.
What's next?
Rangers kick off their League Cup campaign at home to Greenock Morton on Saturday (12:30 BST), then welcome to PSV to Ibrox next Tuesday for the first leg of their Champions League play-off.
More to follow.
Player of the match
ButlandJack Butland
Servette
Squad number17Player nameKutesa
Squad number9Player nameStevanovic
Squad number27Player nameCrivelli
Squad number8Player nameCognat
Squad number4Player nameRouiller
Squad number30Player nameDiba
Squad number23Player nameRodelin
Squad number21Player nameGuillemenot
Squad number5Player nameOndoua
Squad number6Player nameBaron
Squad number33Player nameVouilloz
Squad number29Player nameBedia
Squad number18Player nameMazikou
Squad number11Player nameFofana
Squad number1Player nameMall
Squad number19Player nameSeverin
Rangers
Squad number1Player nameButland
Squad number43Player nameRaskin
Squad number13Player nameCantwell
Squad number2Player nameTavernier
Squad number15Player nameCifuentes
Squad number31Player nameBarisic
Squad number8Player nameJack
Squad number6Player nameGoldson
Squad number14Player nameLammers
Squad number19Player nameSima
Squad number9Player nameDessers
Squad number21Player nameSterling
Squad number20Player nameDowell
Squad number5Player nameSouttar
Squad number99Player nameDanilo
Line-ups
Servette
Formation 4-4-2
1Mall
33Vouilloz4Rouiller19Severin18Mazikou
21Guillemenot5Ondoua8Cognat17Kutesa
27Crivelli29Bedia
1Mall33Vouilloz4Rouiller19Severin18MazikouSubstituted forBaronat 77'minutes21GuillemenotBooked at 70minsSubstituted forFofanaat 77'minutes5OndouaBooked at 11minsSubstituted forDibaat 71'minutes8CognatBooked at 89mins17KutesaSubstituted forStevanovicat 71'minutes27Crivelli29BediaSubstituted forRodelinat 85'minutesSubstitutes
6Baron7Pflücke9Stevanovic11Fofana12Kaloga23Rodelin30Diba31Ouattara40Aubert44Besson45Touati68OnguénéRangers
Formation 4-3-3
1Butland
2Tavernier6Goldson5Souttar31Barisic
15Cifuentes8Jack43Raskin
19Sima99Pereira da Silva13Cantwell
1Butland2Tavernier6Goldson5Souttar31Barisic15CifuentesSubstituted forSterlingat 84'minutes8Jack43Raskin19SimaSubstituted forLammersat 61'minutes99Pereira da SilvaSubstituted forDessersat 61'minutes13CantwellSubstituted forDowellat 90+6'minutesSubstitutes
7Hagi9Dessers14Lammers20Dowell21Sterling23Wright27Balogun28McCrorie32Wright38King44Devine48LyallLive Text
Match ends, Servette 1, Rangers 1.
Second Half ends, Servette 1, Rangers 1.
Sam Lammers (Rangers) wins a free kick on the right wing.
Foul by Ronny Rodelin (Servette).
Substitution, Rangers. Kieran Dowell replaces Todd Cantwell.
Attempt missed. Samba Diba (Servette) header from the centre of the box is just a bit too high. Assisted by Miroslav Stevanovic with a cross.
Attempt saved. Sam Lammers (Rangers) right footed shot from the right side of the box is saved in the bottom right corner.
Attempt blocked. Miroslav Stevanovic (Servette) header from the right side of the box is blocked.
Corner, Servette. Conceded by Todd Cantwell.
Corner, Servette. Conceded by Connor Goldson.
Timothé Cognat (Servette) is shown the yellow card.
Foul by Sam Lammers (Rangers).
Miroslav Stevanovic (Servette) wins a free kick in the defensive half.
Substitution, Servette. Ronny Rodelin replaces Chris Bedia.
Foul by Sam Lammers (Rangers).
Steve Rouiller (Servette) wins a free kick in the defensive half.
Substitution, Rangers. Dujon Sterling replaces José Cifuentes because of an injury.
Delay over. They are ready to continue.
Delay in match because of an injury José Cifuentes (Rangers).
Attempt saved. Samba Diba (Servette) right footed shot from outside the box is saved in the centre of the goal. Assisted by Miroslav Stevanovic.