nginx + express 代理配置
在node專案中,經常會有遇到需要獲取訪問URL地址的時候,同時也會遇到協議的問題,有時候,當我們的網站是https的時候,也希望在express中或者其他的node框架中獲取到的URL地址協議也是https。
但是奇怪的是express通過req.protocol獲取到的仍然是http,經過試驗通過nginx的配合能夠很好的解決此方案。
示例如下:
location / { proxy_pass http://127.0.0.1:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; }
希望對看到的你有一些幫助。
類似的,在其他node框架中,比如koajs中,也會遇到類似的問題,配置方式也可以參考此方式,具體是否見效,需要讀者自己去實踐了,果然是實踐出真知,按照正常來說,這些邏輯本不應該這麼複雜,但是從代理的角度的來考慮的話,既然做了代理,就需要做的完整一些,需要我們對nginx代理有更多的瞭解。 本次的分享主要是結合了上次TypeScript + Express的一篇文章,我在進行線上部署的時候遇到的一些小知識點。