我需要做的是运行一个Java应用程序,它是Restlet的RESTful服务服务器端writetern.此服务将由另一个在Google App Engine上运行的应用程序调用.
由于GAE的限制,每个http调用仅限于具有HttpUrlConnection类的端口80和443(http和https).因此,我必须在端口80或443上部署我的服务器端应用程序.
但是,由于应用程序在Ubuntu上运行,并且非root用户无法访问1024以下的端口,因此在运行应用程序时将抛出Access Denied异常.
我想到的解决方案包括:
将文件驻留在/lib/security/java.policy中的JRE的安全策略更改为grantjava.net.SocketPermission"*.80""listen,connect,accept,resolve"权限.但是,两者都不使用命令行要包含此文件或覆盖JRE的java.policy文件中的内容,同样的异常会不断出现.
尝试以root用户身份登录,但由于我对Unix的不熟悉,我不知道该怎么做.
我没有尝试的另一个解决方案是将所有80的呼叫映射到更高的端口,如1234,然后我可以在1234上部署我的应用程序而没有问题,并且GAE调用发送请求到端口80.但是如何连接缺少的差距仍然是一个问题.
目前我正在使用"黑客"方法,即将应用程序打包到jar文件中,并使用root权限运行jar文件.它现在可以工作,但在真实的部署环境中绝对不合适.
所以,如果有人对解决方案有任何想法,非常感谢!
我一直在尝试将SonarQube的端口从9000更改为80.我所做的是取消注释sonar.web.port并在/opt/sonar/conf/sonar.properties文件中将其设置为80 ,然后:
sudo update-rc.d sonar defaults
sudo /etc/init.d/sonar restart
Run Code Online (Sandbox Code Playgroud)
但是当我尝试点击URL时,没有任何显示(没有来自服务器的回答).如果我还原我的更改并再次执行前两个命令,SonarQube不会再回来.我必须重新启动机器.
我正在运行最新版本的Ubuntu和SonarQube.该数据库位于SQL Azure上.一切都在端口9000上工作.
我对SonarQube的了解是有限的,所以我最有可能做错了但却无法弄清楚是什么.
我在C中编写了自己的Web服务器.如何将其绑定到端口80而不是root,这样安全性不会受到影响(缓冲区溢出等)?
我应该简单地转发来自在端口80上运行的另一个"稳定"服务器的任何流量吗?
以 root 身份运行的 Node.JS 程序是否可以在运行时降低其权限?这将是它首先要做的事情之一,目的当然是限制它可能造成的损害,以防万一出现漏洞或在此过程中运行不可信的代码。
或者,是否有一种方法可以让以 root 身份运行的 Node.JS 进程启动一个单独的非 root 进程?(最好中间不加一层,比如sudo)
我正在使用 apache mina sshd 来生成一个 ssh 服务器,以便用户能够远程访问特定系统。
这是我的代码的一部分:
SshServer sshd = SshServer.setUpDefaultServer();
sshd.setPort(830);
sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser"));
sshd.setShellFactory(new ProcessShellFactory(new String[] { "/bin/sh", "-i", "-l" }));
sshd.setCommandFactory(new ScpCommandFactory());
sshd.setPasswordAuthenticator(new PasswordAuthenticator() {
public boolean authenticate(String username, String password, ServerSession session) {
return true;
// just to make sure everything is right
// this will implement later
}
});
sshd.start();
Run Code Online (Sandbox Code Playgroud)
在 Windows 上运行此代码时,此代码看起来没问题,但在 Linux (Ubuntu 18.04) 上,出现此错误:
Exception in thread "main" java.net.SocketException: Permission denied
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Net.java:455)
at java.base/sun.nio.ch.Net.bind(Net.java:447)
at java.base/sun.nio.ch.AsynchronousServerSocketChannelImpl.bind(AsynchronousServerSocketChannelImpl.java:164)
at org.apache.sshd.common.io.nio2.Nio2Acceptor.bind(Nio2Acceptor.java:59) …Run Code Online (Sandbox Code Playgroud) 我在Ubuntu服务器上运行Django有困难.我能够运行Django但我不知道如何将其作为服务运行.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
Run Code Online (Sandbox Code Playgroud)
这是我在做的事情:
sudo ./manage.py runserver 0.0.0.0:80 &即使我没有登录,如何让我的Django进程在端口80上运行?
另外,我知道我应该通过Apache链接它,但我还没准备好.
我正在尝试使用Go和Revel框架在我的live,social-website.com上运行一个简单的应用程序.
我在本地开发并测试localhost:8888时一切正常.但是,在我的Web服务器上安装并从root运行我的应用程序后,# run revel personalwebsiteapp我收到以下错误:
ERROR 2013/10/01 04:01:35 harness.go:167: Failed to start reverse proxy: listen tcp xx.xxx.xx.xx:80: cannot assign requested address
Run Code Online (Sandbox Code Playgroud)
在这里完全失去了.我是否需要在Revel之上运行像Nginx这样的代理服务器?
这可能是我的conf/app.conf文件的相关部分:
http.addr="personal-website.com"
http.port=80 #whether I set this to 80 or 8888 doesn't matter, I get the same error
Run Code Online (Sandbox Code Playgroud) 我正在谈论的设置是IP,子网掩码和默认网关(设置和获取)。为了设置所有这些设置,我使用了该ioctl函数以及诸如SIOCSIFADDR和等选项SIOCSIFNETMASK。为了获得IP和掩码,我使用相同的方法,但具有类似的选项SIOCGIFADDR。为了获得默认网关,我解析了文件/proc/net/route并读取了接口的相应默认网关地址。
这整个过程非常完美,但是具有root特权。有什么方法可以在不授予root用户的情况下更改这些设置?这是我无法解决的要求。像这样的问题来更改所有权可以通过将代码放在单独的可执行文件中并将该可执行文件的所有权更改为root,然后从主应用程序调用它来解决问题。
我只想知道是否可以在不授予该应用程序根访问权限的情况下更改此类设置。
我有一个套接字应用程序,我试图在端口443(https)上进行监听.如果我改变端口(例如8080)我没有问题.
显示的错误是
error raised: Error: listen EACCES
Run Code Online (Sandbox Code Playgroud)
我的应用源代码是:
var fs = require('fs');
// create the https server and listen on port
var options = {
ca: fs.readFileSync('ca.pem'),
cert: fs.readFileSync('cert.pem'),
key: fs.readFileSync('server.key')
};
var server = require('https').createServer(options);
var portNo = 443;
var app = server.listen(portNo, function() {
console.log((new Date()) + " Server is listening on port " + portNo);
});
// create the socket server on the port
var io = require('socket.io').listen(app);
// This callback function is called every time a …Run Code Online (Sandbox Code Playgroud) 你好StackOverflow,
我的haproxy似乎有一个错误,这是我尝试运行它时得到的
[ALERT] 208/051346 (5865) : Starting proxy ah1: cannot bind socket
[ALERT] 208/051346 (5865) : Starting proxy ah2: cannot bind socket
Run Code Online (Sandbox Code Playgroud)
我正在为TCP代理运行它.
这是我的配置:
#---------------------------------------------------------------------
# Example configuration for a possible web application. See the
# full configuration options online.
#
# http://haproxy.1wt.eu/download/1.3/doc/configuration.txt
#
#---------------------------------------------------------------------
#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if …Run Code Online (Sandbox Code Playgroud) 尝试使用golang在Google Cloud Platform上设置https时遇到问题,让我们加密
我已经有一个针对实例IP的域
我还让我们对保存在/etc/letsencrypt/live/mydomain.com/上的证书和链进行加密
我已经将myapp设置为使用证书,并配置为通过systemctl使用myapp.service作为服务运行
在完成所有这些配置之后,我总是得到下一条错误消息:
Feb 14 11:29:47 https https[1982]: 2019/02/14 11:29:47 listen tcp :443: bind: permission denied
Feb 14 11:29:47 https systemd[1]: https.service: Main process exited, code=exited, status=1/FAILURE
Feb 14 11:29:47 https systemd[1]: https.service: Unit entered failed state.
Feb 14 11:29:47 https systemd[1]: https.service: Failed with result 'exit-code'.
Run Code Online (Sandbox Code Playgroud) 是否可以将Flask(http://flask.pocoo.org/)作为标准用户运行?
我需要在我的Pi上运行一个Web服务,但不确定当它需要通过我的防火墙暴露给Web时,作为超级用户运行它是多么安全.
linux ×4
ubuntu ×4
c ×2
go ×2
java ×2
node.js ×2
port ×2
python ×2
apache-sshd ×1
django ×1
firewall ×1
flask ×1
haproxy ×1
http ×1
https ×1
javascript ×1
lets-encrypt ×1
nginx ×1
permissions ×1
privileges ×1
proxy ×1
revel ×1
rhel5 ×1
root ×1
security ×1
socket.io ×1
sonarqube ×1
sudo ×1
tcp ×1
web ×1
webrtc ×1