-
求助如何配置 nginx 的二级域名?
2020-07-05 12:17结帖了
问题解决了,问题具体还是出在配置上,
还原刚刚我解决的步骤
参考了一篇博客
按照博客中提到的配置,先还原 nginx 最开始的配置(只能主域名查看,未配置子域名),然后添加一个 server
server { listen 80; server_name ssq.runnable.run; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; location / { proxy_pass http://47.96.163.98:8081; } }
实现了上述博客中的效果,主域名是博客,子域名是其他项目
发现离我想要的结果已经很接近了,只要加上 ssl 就可以了,所以我怀疑我的 ssl 连接也有问题,之前在一个小网站申请的,所以又去阿里云申请了一个免费的
,在申请的过程中,提示我填写完整域名,完成之后,也就是这张图里面我意识到一个很重要的问题,也就是
www.ssq.runnable.run ≠ ssq.runnable.run
啊!!!然后我就明白了为啥之前配置不行
所以我申请的 ssl 是 www.ssq.runnable.run,我的域名解析应该也是这个,我的 nginx 配置也应该是这个,干!以及我的 ssl 证书也应该是这个重新走一遍流程
域名解析->nginx 配置-> 部署-> 测试
没问题了,可以实现主域名和子域名不同的项目访问,而且都带 ssl 证书
附上现在成功的 nginx 配置供参考
server { listen 443; server_name www.ssq.runnable.run; ssl on; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; ssl_certificate /ssl/4163762_www.ssq.runnable.run.pem; ssl_certificate_key /ssl/4163762_www.ssq.runnable.run.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://47.96.163.98:8081; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } server { listen 80; server_name www.ssq.runnable.run; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } server { listen 443; server_name runnable.run; ssl on; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; ssl_certificate /ssl/3098503_runnable.run.pem; ssl_certificate_key /ssl/3098503_runnable.run.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://47.96.163.98:8080; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } server{ listen 80; server_name runnable.run; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; }
遗留的小问题
部署之后发现
子域名必须带上 www 才能访问
主域名必须去掉 www 才能访问
所以,我猜,应该是 nginx 对 www.runnable.run 的部署还存在一些问题
-
求助如何配置 nginx 的二级域名?
2020-07-05 11:22我刚刚尝试了一下,还是不行。。。
然后我又尝试了一下把 nginx 中的两个 server 端口进行交换,发现打开的网页也不出意料的交换了,但是仍然只显示主域名的。
所以应该是 nginx 中的第二个 server 配置没有效果,但是为什么没有效果不知道。。。。。。# 主站ssl server { listen 443; server_name runnable.run; ssl on; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; ssl_certificate /ssl/3098503_runnable.run.pem; ssl_certificate_key /ssl/3098503_runnable.run.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://47.96.163.98:8080; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } # 主站 server{ listen 80; server_name runnable.run; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } # 子域名 server { listen 80; server_name ssq.runnable.run; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } # 子域名ssl server { listen 443; server_name ssq.runnable.run; ssl on; ssl_certificate /ssl/ssq.runnable.pem; ssl_certificate_key /ssl/ssq.runnable.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA; ssl_session_cache shared:SSL:50m; ssl_prefer_server_ciphers on; location / { proxy_pass http://47.96.163.98:8081; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
-
github 克隆的源码怎么打包成 war 啊
2019-11-22 16:15我用的最新版的代码,发现可以打包,但是启动不了,看了源码发现类
SkinMgmtService
中loadSkins
方法第 76 行改为加"/",就可以了if (!skinDirNames.contains(currentSkinDirName+"/")) {
😂
-
github 克隆的源码怎么打包成 war 啊
2019-11-21 14:14打成 jar 包我知道
可以启动
但是启动访问之后样式会改变,然后查询报错信息,发现是# FileSystemAlreadyExistsException 异常,也就是 FileSystem 已经被初始化一次了
暂时没有解决打成 jar 包那个我是改了 pom 文件的
<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>org.b3log.solo.Server</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin>
如果你解决了的话,望告知