我有一个在基于Debian的Ubuntu作为操作系统的VM上托管的Django Web应用程序,以及nginx反向代理+ gunicorn作为Web服务器。
此Web应用程序的DNS为myapp.cloudapp.net
。我还有一个ccTLD mydomain.pk
我需要配置为此Web应用程序的自定义域名。
我的原始注册商仅支持域名服务器。因此,我在dns.he.net(一个免费的DNS托管服务提供商)上创建了一个帐户来托管我的名字服务器,并为我的机器设置了CName。
我的问题是,一旦我将CName设置为指向我的网络应用程序的DNS,在浏览器中输入mydomain.pk只会向我显示一个通用的Welcome to ngnix!
页面。然而,在浏览器中输入myapp.cloudapp.net
(或myapp.cloudapp.net:80
)会正确打开Web应用程序。为什么没有设置CName工作?
我已经与dns.he.net的支持人员交谈了 - 我被告知我的CName设置正确,并且我的nginx配置可能存在一些问题。
例如,这是我的etc/nginx/sites-available/myproject
文件:
server {
listen 80;
server_name myapp.cloudapp.net;
charset utf-8;
underscores_in_headers on;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/myuser/projectpk/project;
}
location /static/admin {
root /home/myuser/.virtualenvs/projectpk/local/lib/python2.7/site-packages/django/contrib/admin/static/;
}
location / {
proxy_pass_request_headers on;
proxy_buffering on;
include proxy_params;
proxy_pass http://unix:/home/myuser/projectpk/project/project.sock;
}
error_page 500 502 503 504 /500.html;
location = /500.html {
root /home/myuser/projectpk/project/templates/;
}
}
答案 0 :(得分:1)
删除main
行,nginx中不需要它,除非您想根据收到的主机名提供不同的内容。
如果删除该行,nginx将回答在适当的端口(在本例中为80)到达服务器的任何请求,public static void main(String[] args) {
// initialize string
String str1;
Scanner sc = new Scanner(System.in); // scanner reads string
System.out.print("Enter a sentence");
str1 = sc.next();
System.out.println(str1);
// create and set up frame
JFrame frame = new JFrame("Characters in Text field :");
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// create text fields with a single character
for(int i = 0; i < str1.length(); i++) {
JTextField tf = new JTextField(4);
char ch = str1.charAt(i);
// output the character for debugging?
System.out.println(ch);
// set the newly created text fields text to ch
tf.setText(ch + "");
// add the text field to frame while it's still in scope
frame.add(tf);
}
// let frame's layout manager do it's thing
frame.pack();
// show the frame
frame.setVisible(true);
}
或server_name
中的myapp.cloudapp.net
报头中。
这假设在/ etc / nginx / sites-enabled中没有其他配置可以捕获请求。