Tested and fixed server_name resolution
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
|
||||
server {
|
||||
|
||||
# this is a comment
|
||||
|
||||
server_name our_server;
|
||||
server_name server1;
|
||||
|
||||
listen 0.0.0.0:4040;
|
||||
|
||||
@@ -92,5 +93,13 @@ server {
|
||||
# allow_methods DELETE;
|
||||
# }
|
||||
|
||||
|
||||
}
|
||||
|
||||
server {
|
||||
server_name server2;
|
||||
|
||||
listen 0.0.0.0:4040;
|
||||
|
||||
index index.html;
|
||||
root ./www2/;
|
||||
}
|
||||
|
||||
7
memo.txt
7
memo.txt
@@ -1,21 +1,20 @@
|
||||
IN 42 SUBJECT AND/OR PRIORITY :
|
||||
- CGI (TODO HUGO)
|
||||
- chunked request (need testing)
|
||||
|
||||
- Need to test normal body parsing
|
||||
- upload files testing and adjustements
|
||||
- Need to test normal body parsing (Verif avec HUGO)
|
||||
|
||||
- Ecrire des tests !
|
||||
- handle redirection (Work, but weird behavior need deeper test)
|
||||
|
||||
- check return 0 de send()
|
||||
- curl --resolve, for testing hostname
|
||||
curl -v --resolve server1:4040:127.0.0.1 --resolve server2:4040:127.0.0.1 server1:4040
|
||||
- test limit de connexions sur listen()
|
||||
|
||||
-----------------------------
|
||||
Si ce n'est pas deja fait :
|
||||
peut-être check si ip > 32bits
|
||||
-----------------------------
|
||||
- chunked request (need testing)
|
||||
- client_body_limit 0 valeur special pour desactiver dans config
|
||||
- gerer le champ "Accept" du client
|
||||
- gerer les ".." dans un URL (verifier que l'on ne sort pas du dossier "root")
|
||||
|
||||
@@ -57,6 +57,11 @@ int Webserv::_send_response(Client *client)
|
||||
std::cerr << "client.fd =" << client->get_cl_fd() << "\n"; // DEBUG
|
||||
return SEND_CLOSE;
|
||||
}
|
||||
if (ret == 0) // actually never happen ?
|
||||
{
|
||||
std::cerr << "SEND RET 0 for client.fd =" << client->get_cl_fd() << "\n"; // DEBUG
|
||||
return SEND_CLOSE;
|
||||
}
|
||||
std::cerr << "ret send() = " << ret << "\n"; // DEBUG
|
||||
|
||||
return SEND_COMPLETE;
|
||||
@@ -167,12 +172,17 @@ void Webserv::_append_body(Client *client, const std::string &body, const std::s
|
||||
ServerConfig *_determine_process_server(Client *client, std::vector<ServerConfig> &servers)
|
||||
{
|
||||
/*
|
||||
Behavior like this :
|
||||
http://nginx.org/en/docs/http/request_processing.html
|
||||
_determine_process_server() should be complete.
|
||||
TODO : test it
|
||||
*/
|
||||
|
||||
std::string const &server_name = client->get_rq_headers("Host");
|
||||
std::string server_name = client->get_rq_headers("Host");
|
||||
std::cerr << "server_name = " << server_name << "\n";
|
||||
size_t pos = server_name.rfind(':');
|
||||
if (pos != NPOS)
|
||||
server_name.erase(pos);
|
||||
std::cerr << "server_name = " << server_name << "\n";
|
||||
|
||||
std::vector<ServerConfig>::iterator it = servers.begin();
|
||||
std::vector<ServerConfig>::iterator default_server = servers.end();
|
||||
|
||||
|
||||
11
www2/index.html
Normal file
11
www2/index.html
Normal file
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Le Webserv</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1 style="text-align:center">( ͡◉ ͜ ʖ ͡◉) Le index du serveur 2 ! </h1>
|
||||
<hr>
|
||||
<p style="text-align:center">˚ಎ˚</p>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user