一、里斯本的镀金牢笼
1458年的里斯本王宫,空气里弥漫着没药和丁香的味道,厚重得几乎令人窒息。杜阿尔特·阿尔梅达站在觐见厅的角落,看着年轻国王阿方索五世接受廷臣们的恭维。国王二十六岁,刚刚完成对北非阿尔卡塞尔-塞格尔的胜利远征,此刻正沉浸在双重的荣耀中:陆上的征服与海上的帝国。
“阿尔梅达骑士,”国王注意到他,招手示意,“来,告诉我们的客人,印度航线的利润今年增长了多少。”
杜阿尔特走上前,微微鞠躬。他四十三岁,鬓角已见银丝,多年的海上生活在他脸上刻下风霜,但身姿依旧挺拔如船桅。“陛下,根据财政厅最新报告,去年从印度返回的十二艘船,载回的香料、丝绸和其他货物,总价值约为六十万杜卡特。扣除成本,净利润约四十五万杜卡特。”
大厅里响起惊叹的低语。一个留着小胡子的意大利大使快速计算着:“这相当于威尼斯共和国全年香料贸易利润的一半……而葡萄牙只有威尼斯十分之一的人口。”
“而且是在短短十年内建立的贸易网络,”国王自豪地补充,“从无到有。”
杜阿尔特保持沉默。他知道数字背后的代价:去年有三艘船未能返航,大约两百名水手葬身大海;在印度洋的葡萄牙贸易站,有三十七人死于热带疾病;而在非洲沿岸的补给站,与当地部落的冲突不断升级。
宴会结束后,杜阿尔特被召到国王的书房。房间里堆满了地图和账册,年轻国王的眼睛因兴奋而发亮。
“我们需要扩大规模,”阿方索五世直接说,“明年派二十艘船去印度。不,三十艘。热那亚的银行家愿意贷款,条件是我们要垄断胡椒贸易。”
“陛下,”杜阿尔特谨慎地说,“三十艘船需要至少一千五百名经验丰富的水手,而我们……”
“可以从农村招募,可以从其他国家的港口挖人。”国王打断他,“利润会吸引人才,阿尔梅达。就像蜂蜜吸引蜜蜂。”
“但航行的质量可能下降。没有经验的船员在风暴中容易恐慌,在陌生海域容易迷失……”
“所以需要你训练他们,”国王走到他面前,手放在他肩上,“你是葡萄牙最好的航海家,印度航线的开拓者。我任命你为印度事务总监,负责所有与印度贸易相关的事务:船只、人员、贸易站、外交。”
这是一个巨大的权力,也是一个巨大的陷阱。杜阿尔特看到了:如果他接受,他将成为这个日益贪婪的系统的管理者;如果他拒绝,会有更不谨慎的人接替。
“我需要考虑,陛下。”
“考虑什么?荣耀?财富?你和你家族的地位?”国王的语气变得强硬,“阿尔梅达骑士,记住,你的家族刚刚恢复名誉。你的堂兄阿方索男爵在宫廷的影响力……有限。但这个职位可以改变一切。”
这是含蓄的威胁。杜阿尔特想起阿方索堂兄最近的困境:在宫廷派系斗争中站错队,需要王室的支持来维持地位。
“我能保留萨格里什作为工作基地吗?”他最终问。
国王皱眉:“印度事务总监应该在里斯本,靠近权力和金钱。”
“但航海知识和训练在萨格里什,陛下。那里有图书馆,有仪器,有传统……”
“好吧,”国王让步,“但你每个月必须在里斯本待至少两周。王室委员会需要你的报告。”
离开王宫时,杜阿尔特感到肩上的重量。不是荣耀的重量,而是妥协的重量。
在回家的马车上,妻子贝亚特里斯握住了他的手。“不顺利?”
“我被任命为印度事务总监。”
贝亚特里斯沉默了片刻。他们现在在里斯本有一处宅邸,是国王赏赐的,位于上城区,宽敞奢华,但杜阿尔特总觉得像是镀金的牢笼。
“如果你不想接受……”
“我必须接受,”杜阿尔特看着窗外繁华的街道——新的建筑正在兴建,商人们穿着丝绸衣服,空气中飘着昂贵的香料气味,“为了家族,也为了……至少试图引导这个系统走向更好的方向。”
贝亚特里斯轻叹。她三十四岁,依旧是里斯本社交圈的话题人物——不是因为她贵族出身,而是因为她继续在萨格里什工作,每个月有一半时间在那里,整理航海文献,协助训练项目。这在保守派看来是古怪的,但在新一代中,她开始成为一种象征:女性也可以有事业。
“伊莎贝尔写信来,”她转移话题,“说菲利佩的训练班有三十个新学员,其中三个是平民的孩子,表现优异。但在里斯本,委员会在讨论是否应该限制航海学校的入学资格,只对贵族开放。”
“看,”杜阿尔特苦涩地说,“这就是问题。我们打开了通往世界的大门,却想把它变成特权阶级的私人通道。”
马车经过码头区。即使夜晚,这里依旧繁忙。灯笼的光照亮堆积如山的货物:印度的胡椒,非洲的象牙,马德拉的葡萄酒。工人们在监工的呵斥下搬运货物,他们的脸在阴影中模糊不清。
杜阿尔特想起在卡利卡特看到的搬运工。那里也是夜晚工作,也是灯笼的光,也是汗水浸透的衣衫。世界用不同的语言,重复着相似的不公。
二、萨格里什的星光
三天后,杜阿尔特和贝亚特里斯返回萨格里什。与里斯本的喧嚣相比,这里像是另一个世界。海风清冽,星光清澈,航海学校的灯火在崖壁上温暖地亮着。
他们的儿子若昂三岁,留在萨格里什由莱拉照顾。小家伙在门口迎接他们,手里拿着一个粗糙的木船模型。
“奶奶教我做船!”他举着模型,“她说爷爷也会做船!”
杜阿尔特抱起儿子,感到一阵复杂的情绪:骄傲,悲伤,希望。贡萨洛从未见过孙子,但他存在于萨格里什的每一块石头里,每一阵海风里。
莱拉六十五岁了,背有些驼,但眼睛依旧敏锐。晚餐时,她看着儿子:“你看起来很疲惫。”
“里斯本……让人疲惫。”杜阿尔特承认。
“是权力让人疲惫,”莱拉一针见血,“你父亲当年选择留在萨格里什,远离宫廷,不是因为他不能获得权力,而是因为他知道权力的代价。”
贝亚特里斯补充:“但现在情况不同。如果杜阿尔特不接受那个职位,别人会接受。至少他还能尝试保持一些原则。”
莱拉没有争论,只是问:“什么原则?”
“公平贸易。尊重当地文化。知识共享。”杜阿尔特列举,但声音里缺乏自信,“但我不知道在三十艘船、数百万杜卡特的利益面前,这些原则还能坚持多久。”第二天,杜阿尔特去航海学校。菲利佩正在给新学员上课,讲星象导航。伊莎贝尔在图书馆整理资料,二十五岁的她已经完全继承了母亲的学识和父亲的坚韧。
“里斯本又在施压了,”菲利佩下课后告诉他,“要求我们优先训练贵族子弟,减少平民名额。还有,他们想要‘简化’课程,缩短训练时间——为了更快地提供船长和领航员。”
“我们不能同意,”杜阿尔特说,“航海不是儿戏。一个错误的决定可能让整船人丧命。”
菲利佩苦笑:“但他们说,现在的船只更先进,海图更精确,风险降低了。而且……利润太大了,等不及完整的训练。”
午餐时,伊莎贝尔带来更令人不安的消息。“几个从印度回来的船长在酒馆吹嘘,说他们在东非用几匹布就‘买’了一大片土地,用来建立新的补给站。但他们没说的是,那片土地本来有村庄,他们用火枪‘说服’村民离开。”
杜阿尔特放下餐具。“有证据吗?”
“有船员私下说的,但不敢公开指控船长。怕失去工作,或者……更糟。”伊莎贝尔的表情严肃,“哥哥,我们在创造什么?一个连接世界的贸易网络,还是一个掠夺帝国?”
这个问题悬在餐桌上空。窗外的海鸥鸣叫,海浪拍岸,声音永恒而漠然。
下午,杜阿尔特独自走到萨格里什角。这是他父亲常来的地方,也是他和贝亚特里斯坦无数次看海的地方。从这里,葡萄牙的船只驶向世界;也从这里,那些船只带回财富和改变。
但改变不总是好的。
他想起在印度的日子,那些最初小心翼翼的接触,那些对等贸易的尝试。现在呢?葡萄牙的船队越来越庞大,态度越来越傲慢。在卡利卡特的贸易站,官员开始索贿;在东非的补给站,士兵欺凌当地人;甚至在里斯本,那些一夜暴富的“印度富翁”炫耀财富,嘲笑旧贵族,却模仿他们的做派。
“你在这里。”
贝亚特里斯坦的声音从身后传来。她披着披肩,海风吹起她的头发。
“我在想父亲,”杜阿尔特说,“想他会怎么看现在的葡萄牙。”
“他会骄傲,也会担忧。”贝亚特里斯坦站到他身边,“就像我父亲。他作为财政官,看着国库充盈,骄傲;但看着财富腐蚀人心,担忧。”
她握住杜阿尔特的手。“我们不是一个人,杜阿尔特。萨格里什还有很多人记得初心:菲利佩,伊莎贝尔,老教员们,还有那些真正热爱海洋而非仅仅利润的年轻学员。”
“但我们能对抗潮流吗?”
“不能,”贝亚特里斯坦坦率地说,“但我们可以成为航标——提醒人们正确的方向,即使大多数船只选择绕行。”
那天晚上,杜阿尔特在书房工作到深夜。他起草了一份《航海与贸易行为准则》,强调公平交易、尊重当地法律、禁止无故使用武力、保障船员基本权利。这不是法律,只是指导原则,但他希望至少能在自己管理的范围内实施。
凌晨时分,他抬头看到书房墙上挂着的两幅画像:一边是父亲贡萨洛,穿着旧式船长制服,眼神坚定;另一边是恩里克王子,穿着简朴的长袍,眼中是梦想的火光。
两个人都去世了,但他们的遗产——或者他们希望的遗产——正在被现实扭曲。
“我会尽力,”杜阿尔特对着画像低声说,“但现实……比海洋更难驾驭。”
三、科钦的雨季
1462年,杜阿尔特亲自前往印度,视察葡萄牙在那里的贸易站网络。这是他自1451年以来的第一次印度之行,带着复杂的心情。
船队规模让他震惊:二十二艘船,浩浩荡荡,像一支海军舰队而非商船队。船上不仅有商人和水手,还有士兵、传教士、甚至几位希望在新世界寻找机会的小贵族。
航行途中,他看到了变化。在非洲西岸的补给站,葡萄牙的旗帜飘扬在新建的石头堡垒上,当地人在葡萄牙监工的监督下工作,眼神麻木。在好望角,新建的导航灯塔已经启用,但旁边是葡萄牙士兵的营地,用栅栏围起来,与周围环境格格不入。
到达印度科钦时,正值雨季。这个港口城市现在是葡萄牙在马拉巴尔海岸的主要基地,取代了卡利卡特的地位——因为与卡利卡特统治者的关系恶化,葡萄牙人支持科钦的统治者对抗邻国,换取贸易特权。
贸易站长官罗德里戈·德·索萨热情地迎接杜阿尔特。“骑士大人,欢迎来到葡萄牙在印度的明珠!”
所谓的“明珠”是一个混合体:葡萄牙风格的堡垒和仓库,印度风格的住宅和市场,还有一群混血儿童在泥泞的街道上玩耍——葡萄牙士兵与当地女子的孩子。
杜阿尔特花了三周时间视察一切。他看到积极的一面:贸易繁荣,货物充足,一些葡萄牙人学会了当地语言,甚至融入了社区。他也看到阴暗面:士兵欺凌平民却不受惩罚;贸易站官员索贿成风;传教士强迫当地人改宗,破坏寺庙。请求出错,状态码:0内容:请求出错,状态码:502内容:<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en-US"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en-US"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en-US"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en-US"> <!--<![endif]-->
<head>
<title>biqugem.com | 502: Bad gateway</title>
<meta charset="UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="stylesheet" id="cf_styles-css" href="/cdn-cgi/styles/main.css" />
</head>
<body>
<div id="cf-wrapper">
<div id="cf-error-details" class="p-0">
<header class="mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-8">
<h1 class="inline-block sm:block sm:mb-2 font-light text-60 lg:text-4xl text-black-dark leading-tight mr-2">
<span class="inline-block">Bad gateway</span>
<span class="code-label">Error code 502</span>
</h1>
<div>
Visit <a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_502&utm_campaign=www.biqugem.com" target="_blank" rel="noopener noreferrer">cloudflare.com</a> for more information.
</div>
<div class="mt-3">2026-07-16 17:34:18 UTC</div>
</header>
<div class="my-8 bg-gradient-gray">
<div class="w-240 lg:w-full mx-auto">
<div class="clearfix md:px-8">
<div id="cf-browser-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
<div class="relative mb-10 md:m-0">
<span class="cf-icon-browser block md:hidden h-20 bg-center bg-no-repeat"></span>
<span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
</div>
<span class="md:block w-full truncate">You</span>
<h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
Browser
</h3>
<span class="leading-1.3 text-2xl text-green-success">Working</span>
</div>
<div id="cf-cloudflare-status" class=" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
<div class="relative mb-10 md:m-0">
<a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_502&utm_campaign=www.biqugem.com" target="_blank" rel="noopener noreferrer">
<span class="cf-icon-cloud block md:hidden h-20 bg-center bg-no-repeat"></span>
<span class="cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
</a>
</div>
<span class="md:block w-full truncate">Hong Kong</span>
<h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
<a href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_502&utm_campaign=www.biqugem.com" target="_blank" rel="noopener noreferrer">
Cloudflare
</a>
</h3>
<span class="leading-1.3 text-2xl text-green-success">Working</span>
</div>
<div id="cf-host-status" class="cf-error-source relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center">
<div class="relative mb-10 md:m-0">
<span class="cf-icon-server block md:hidden h-20 bg-center bg-no-repeat"></span>
<span class="cf-icon-error w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4"></span>
</div>
<span class="md:block w-full truncate">www.biqugem.com</span>
<h3 class="md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3">
Host
</h3>
<span class="leading-1.3 text-2xl text-red-error">Error</span>
</div>
</div>
</div>
</div>
<div class="w-240 lg:w-full mx-auto mb-8 lg:px-8">
<div class="clearfix">
<div class="w-1/2 md:w-full float-left pr-6 md:pb-10 md:pr-0 leading-relaxed">
<h2 class="text-3xl font-normal leading-1.3 mb-4">What happened?</h2>
<p>The web server reported a bad gateway error.</p>
</div>
<div class="w-1/2 md:w-full float-left leading-relaxed">
<h2 class="text-3xl font-normal leading-1.3 mb-4">What can I do?</h2>
<p class="mb-6">Please try again in a few minutes.</p>
</div>
</div>
</div>
<div class="cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300">
<p class="text-13">
<span class="cf-footer-item sm:block sm:mb-1">Cloudflare Ray ID: <strong class="font-semibold">a1c2c1c1ad7e90d1</strong></span>
<span class="cf-footer-separator sm:hidden">•</span>
<span id="cf-footer-item-ip" class="cf-footer-item hidden sm:block sm:mb-1">
Your IP:
<button type="button" id="cf-footer-ip-reveal" class="cf-footer-ip-reveal-btn">Click to reveal</button>
<span class="hidden" id="cf-footer-ip">43.243.73.188</span>
<span class="cf-footer-separator sm:hidden">•</span>
</span>
<span class="cf-footer-item sm:block sm:mb-1"><span>Performance & security by</span> <a rel="noopener noreferrer" href="https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_502&utm_campaign=www.biqugem.com" id="brand_link" target="_blank">Cloudflare</a></span>
</p>
<script>(function(){function d(){var b=a.getElementById("cf-footer-item-ip"),c=a.getElementById("cf-footer-ip-reveal");b&&"classList"in b&&(b.classList.remove("hidden"),c.addEventListener("click",function(){c.classList.add("hidden");a.getElementById("cf-footer-ip").classList.remove("hidden")}))}var a=document;document.addEventListener&&a.addEventListener("DOMContentLoaded",d)})();</script>
</div><!-- /.error-footer -->
</div>
</div>
</body>
</html>