Proxy support for Nuxt 2 server
In Nuxt 3 you can make use of Route Rules to configure your proxies.
export default defineNuxtConfig({
routeRules: {
'/proxy/example': { proxy: 'https://example.com' },
'/proxy/**': { proxy: '/api/**' },
}
})
✓ Path rewrites
✓ Host based router (useful for staging/test)
✓ Logs / Proxy Events
✓ WebSockets
✓ Auth / Cookie
✓ ...See http-proxy-middleware docs
⚠ Does not work with nuxt generate
(see static target).
- Add
@nuxtjs/proxy
dependency to your project
yarn add @nuxtjs/proxy # or npm install @nuxtjs/proxy
- Add
@nuxtjs/proxy
to themodules
section ofnuxt.config.js
{
modules: [
// Simple usage
'@nuxtjs/proxy'
],
proxy: {
// see Proxy section
}
}
- Define as many as proxy middleware you want in
proxy
section ofnuxt.config.js
(See proxy section below)
You can provide proxy config using either object or array.
You can use shorthand syntax to configure proxy:
{
proxy: [
// Proxies /foo to http://example.com/foo
'http://example.com/foo',
// Proxies /api/books/*/**.json to http://example.com:8000
'http://example.com:8000/api/books/*/**.json',
// You can also pass more options
[ 'http://example.com/foo', { ws: false } ]
]
}
Keys are context
{
proxy: {
// Simple proxy
'/api': 'http://example.com',
// With options
'/api2': {
target: 'http://example.com',
ws: false
},
// Proxy to backend unix socket
'/api3': {
changeOrigin: false,
target: { socketPath: '/var/run/http-sockets/backend.sock' }
}
}
}
changeOrigin
andws
options are enabled by default.
You can provide default options to all proxy targets by passing options to module options:
export default {
modules: [
// Disable ws option to all proxified endpoints
['@nuxtjs/proxy', { ws: false }]
],
proxy: [
'http://example.com/foo',
'http://example.com:8000/api/books/*/**.json',
]
}
This will be similar to:
export default {
modules: [
'@nuxtjs/proxy',
],
proxy: [
['http://example.com/foo', { ws: false }],
['http://example.com:8000/api/books/*/**.json', { ws: false }]
]
}
- Clone this repository
- Install dependencies using
yarn install
ornpm install
- Start development server using
npm run dev
Copyright (c) Nuxt Community