VirtualBox에서 Ubunts의 nginx로 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.
8171 단어 리버스 프록시nginxVirtualBox우분투
소개
VirtualBox에서 CentOS의 Apache에서 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다. 의 Nginx 버전입니다.
했던 일
nginx로 시작한 http://localhost 에 node로 시작한 http://localhost:3000/
nginx 설정
sub_filter '대체 원본 문자' "대체 후 문자";
nginx.conflocation / {
# root html;
# index index.html index.htm;
sub_filter_once off;
sub_filter 'Hello' 'Crazy' ;
sub_filter '</head>' "<script>alert('Crazy World')</script></head>" ;
sub_filter 'nginx' 'Crazy' ;
proxy_pass http://127.0.0.1:3000;
}
/etc/nginx/sites-available/defaultlocation / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
sub_filter_once off;
sub_filter 'Hello' 'Crazy' ;
sub_filter '</head>' "<script>alert('Crazy World')</script></head>" ;
sub_filter 'nginx' 'Crazy' ;
proxy_pass http://127.0.0.1:3000;
}
node로 시작하는 HTML 준비
hello.html<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
hello.jsconst http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
// res.setHeader('Content-Type', 'text/plain');
// res.end('Hello World!\n');
fs.readFile('hello.html','UTF-8',
(error, data)=>{
res.writeHead(200,{'Content-Type':'text/html'});
res.write(data);
res.end();
});
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
노드에서 시작하여 액세스 http://localhost:3000/
aoui@aoui-VirtualBox:/media/sf_reverse_proxy_nginx/nginx/public$ node hello.js
Server running at http://127.0.0.1:3000/
http://localhost에 액세스하면 Hello World가 Crazy World로 표시됩니다.
포트를 사용할 수 없을 때
다른 프로세스가 포트를 차지하고 nginx를 다시 시작할 수 없음
Docker로 하고 싶다
docker-compose에서 시작하고 nginx에서 리버스 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.
Reference
이 문제에 관하여(VirtualBox에서 Ubunts의 nginx로 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/the1031hiroto/items/33a68f28e80f72c9091b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
nginx로 시작한 http://localhost 에 node로 시작한 http://localhost:3000/
nginx 설정
sub_filter '대체 원본 문자' "대체 후 문자";
nginx.conflocation / {
# root html;
# index index.html index.htm;
sub_filter_once off;
sub_filter 'Hello' 'Crazy' ;
sub_filter '</head>' "<script>alert('Crazy World')</script></head>" ;
sub_filter 'nginx' 'Crazy' ;
proxy_pass http://127.0.0.1:3000;
}
/etc/nginx/sites-available/defaultlocation / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
sub_filter_once off;
sub_filter 'Hello' 'Crazy' ;
sub_filter '</head>' "<script>alert('Crazy World')</script></head>" ;
sub_filter 'nginx' 'Crazy' ;
proxy_pass http://127.0.0.1:3000;
}
node로 시작하는 HTML 준비
hello.html<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
hello.jsconst http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
// res.setHeader('Content-Type', 'text/plain');
// res.end('Hello World!\n');
fs.readFile('hello.html','UTF-8',
(error, data)=>{
res.writeHead(200,{'Content-Type':'text/html'});
res.write(data);
res.end();
});
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
노드에서 시작하여 액세스 http://localhost:3000/
aoui@aoui-VirtualBox:/media/sf_reverse_proxy_nginx/nginx/public$ node hello.js
Server running at http://127.0.0.1:3000/
http://localhost에 액세스하면 Hello World가 Crazy World로 표시됩니다.
포트를 사용할 수 없을 때
다른 프로세스가 포트를 차지하고 nginx를 다시 시작할 수 없음
Docker로 하고 싶다
docker-compose에서 시작하고 nginx에서 리버스 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.
Reference
이 문제에 관하여(VirtualBox에서 Ubunts의 nginx로 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/the1031hiroto/items/33a68f28e80f72c9091b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
location / {
# root html;
# index index.html index.htm;
sub_filter_once off;
sub_filter 'Hello' 'Crazy' ;
sub_filter '</head>' "<script>alert('Crazy World')</script></head>" ;
sub_filter 'nginx' 'Crazy' ;
proxy_pass http://127.0.0.1:3000;
}
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
sub_filter_once off;
sub_filter 'Hello' 'Crazy' ;
sub_filter '</head>' "<script>alert('Crazy World')</script></head>" ;
sub_filter 'nginx' 'Crazy' ;
proxy_pass http://127.0.0.1:3000;
}
hello.html
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
hello.js
const http = require('http');
const fs = require('fs');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
// res.setHeader('Content-Type', 'text/plain');
// res.end('Hello World!\n');
fs.readFile('hello.html','UTF-8',
(error, data)=>{
res.writeHead(200,{'Content-Type':'text/html'});
res.write(data);
res.end();
});
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
노드에서 시작하여 액세스 http://localhost:3000/
aoui@aoui-VirtualBox:/media/sf_reverse_proxy_nginx/nginx/public$ node hello.js
Server running at http://127.0.0.1:3000/
http://localhost에 액세스하면 Hello World가 Crazy World로 표시됩니다.
포트를 사용할 수 없을 때
다른 프로세스가 포트를 차지하고 nginx를 다시 시작할 수 없음
Docker로 하고 싶다
docker-compose에서 시작하고 nginx에서 리버스 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.
Reference
이 문제에 관하여(VirtualBox에서 Ubunts의 nginx로 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/the1031hiroto/items/33a68f28e80f72c9091b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
aoui@aoui-VirtualBox:/media/sf_reverse_proxy_nginx/nginx/public$ node hello.js
Server running at http://127.0.0.1:3000/
포트를 사용할 수 없을 때
다른 프로세스가 포트를 차지하고 nginx를 다시 시작할 수 없음
Docker로 하고 싶다
docker-compose에서 시작하고 nginx에서 리버스 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.
Reference
이 문제에 관하여(VirtualBox에서 Ubunts의 nginx로 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/the1031hiroto/items/33a68f28e80f72c9091b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
docker-compose에서 시작하고 nginx에서 리버스 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.
Reference
이 문제에 관하여(VirtualBox에서 Ubunts의 nginx로 역방향 프록시하여 HTML을 다시 작성하여 Hello World를 Crazy World로 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/the1031hiroto/items/33a68f28e80f72c9091b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)